Skip to content
This repository was archived by the owner on May 25, 2021. It is now read-only.
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
200 commits
Select commit Hold shift + click to select a range
2e5ee23
Improve instrumentation
Jun 11, 2020
56dbb02
dummy commit to run CI tests on nenad/opencensus
Jul 31, 2020
bd622c3
fix php code style
Jul 31, 2020
6b911e1
fix unit tests
Aug 5, 2020
5bfaf75
limit spans per trace (#2)
Oct 22, 2020
e3be8d7
add span.kind as a tag in PDO, redis extensions (#3)
Nov 26, 2020
f393a0f
checkpoint-1
ShivamYuvraj Jan 25, 2021
2d81ac2
modified removed span method
ShivamYuvraj Jan 26, 2021
1cc8918
added comments
ShivamYuvraj Jan 26, 2021
bdfcbbf
added get span count function
ShivamYuvraj Jan 30, 2021
9e00899
request time bug fix
ShivamYuvraj Jan 30, 2021
a5ed06f
comments
ShivamYuvraj Jan 30, 2021
4197723
Fix extraction from headers
pratt3003 Feb 2, 2021
c409365
Update JaegerPropagator.php
pratt3003 Feb 2, 2021
8b6bd78
Merge pull request #5 from razorpay/fix_extraction
pratt3003 Feb 2, 2021
7d3d509
Update JaegerPropagator.php
pratt3003 Feb 4, 2021
007f190
Merge pull request #6 from razorpay/pratt3003-patch-1
pratt3003 Feb 4, 2021
f1b39d5
made changes in readme
ShivamYuvraj Feb 7, 2021
65557ca
added tests
ShivamYuvraj Feb 8, 2021
731dc8f
test fix
ShivamYuvraj Feb 8, 2021
028ee0e
test fix
ShivamYuvraj Feb 10, 2021
1968b08
Merge pull request #4 from razorpay/bug/memory_bloat_fix
Feb 10, 2021
c544db7
typo fix
ShivamYuvraj Feb 10, 2021
5089946
Merge pull request #7 from razorpay/bg/redis-tracer
Feb 10, 2021
9994a45
add standard tags for db and redis suggested by [otel](https://github…
Feb 11, 2021
f9daba4
fix redis and database tags (#10)
Mar 2, 2021
cbc1dc0
merged master
ShivamYuvraj Mar 2, 2021
6f877e8
Merge pull request #8 from razorpay/otel-standard-tags-db-redis
Mar 3, 2021
d64527f
fix span kind (#11)
Mar 3, 2021
c5c1328
github action integration (#9)
Mar 4, 2021
1ffd9de
fix span kind
Mar 3, 2021
80ac320
fix span kind (#12)
Mar 4, 2021
90687ba
added php test
ShivamYuvraj Mar 7, 2021
c156cc6
modified test
ShivamYuvraj Mar 12, 2021
9a78e6d
add backend tags for all spans (#14)
Apr 1, 2021
fb0151c
support passing DSN to PDO load (#15)
Apr 5, 2021
f1720d7
added ci.yml
sanketrathi2330 Apr 5, 2021
d93e423
skipping code styles
sanketrathi2330 Apr 5, 2021
c2cfad4
removed code style from file
sanketrathi2330 Apr 5, 2021
c73a578
commented php code style
sanketrathi2330 Apr 5, 2021
12586bb
skipped failing tests
sanketrathi2330 Apr 5, 2021
77bdb45
changed to install
sanketrathi2330 Apr 5, 2021
09d8228
trying with self hosted
sanketrathi2330 Apr 5, 2021
4b6057f
reverted self-hosted
sanketrathi2330 Apr 5, 2021
0218adc
commented docker commands
sanketrathi2330 Apr 5, 2021
21a4272
added extensions
sanketrathi2330 Apr 5, 2021
cbbbc35
marked failing test skipped
sanketrathi2330 Apr 5, 2021
317c51d
added contunue on error
sanketrathi2330 Apr 5, 2021
7cd9535
commented guzzle 6
sanketrathi2330 Apr 5, 2021
0340fc4
skipping laravel tests
sanketrathi2330 Apr 5, 2021
d0c55e7
updated service section
sanketrathi2330 Apr 5, 2021
c8e4e87
added port in postgres
sanketrathi2330 Apr 5, 2021
6ab168e
fixed error
sanketrathi2330 Apr 5, 2021
044b795
updated to manager registry
sanketrathi2330 Apr 5, 2021
49604dc
commented mysql url
sanketrathi2330 Apr 5, 2021
653c2a8
changed mysql root password
sanketrathi2330 Apr 5, 2021
34938c0
uncommented db url
sanketrathi2330 Apr 5, 2021
dae27ef
commented symphony test
sanketrathi2330 Apr 5, 2021
1cb3ae2
fixed error
sanketrathi2330 Apr 5, 2021
6223d76
updated env for mysql
sanketrathi2330 Apr 6, 2021
0ba6d10
added allow-no-migration
sanketrathi2330 Apr 6, 2021
fb4ec2e
added return void in symfony test
sanketrathi2330 Apr 6, 2021
2141602
added void return in setup symfony
sanketrathi2330 Apr 6, 2021
a34e9c9
updated php version
sanketrathi2330 Apr 6, 2021
e95159b
reverted to php7.2
sanketrathi2330 Apr 6, 2021
e606a4c
uncommented laravel test
sanketrathi2330 Apr 6, 2021
457cdb4
added ramsey lib version
sanketrathi2330 Apr 6, 2021
1fac446
added update with dependency
sanketrathi2330 Apr 6, 2021
fb6868a
removed ramsey dependency
sanketrathi2330 Apr 6, 2021
476becc
commented guzzle 6 test
sanketrathi2330 Apr 6, 2021
3a6a858
commented continue on error
sanketrathi2330 Apr 6, 2021
93e62a6
updated failing test
sanketrathi2330 Apr 6, 2021
d1f33fb
made some changes
sanketrathi2330 Apr 6, 2021
819cc88
corrected syntax
sanketrathi2330 Apr 6, 2021
2ede967
corrected fmt
sanketrathi2330 Apr 6, 2021
268f031
corrected fmt
sanketrathi2330 Apr 6, 2021
4fc952d
removed mark test skipped
sanketrathi2330 Apr 6, 2021
7362736
updated
sanketrathi2330 Apr 6, 2021
4bb4b78
added continue on error
sanketrathi2330 Apr 6, 2021
c98487b
Merge remote-tracking branch 'origin/php-test' into migration_to_git_…
sanketrathi2330 Apr 6, 2021
9f02736
added params
sanketrathi2330 Apr 6, 2021
4319908
updated
sanketrathi2330 Apr 6, 2021
5e6eb83
updated
sanketrathi2330 Apr 6, 2021
de468bb
made change
sanketrathi2330 Apr 6, 2021
7770e0d
made changes
sanketrathi2330 Apr 6, 2021
04f9094
removed args
sanketrathi2330 Apr 6, 2021
dcb3a75
reverted change
sanketrathi2330 Apr 6, 2021
aa30453
added repo line
sanketrathi2330 Apr 6, 2021
047a4f4
reverted
sanketrathi2330 Apr 6, 2021
05d5a85
updated php
sanketrathi2330 Apr 6, 2021
267a807
reverted
sanketrathi2330 Apr 6, 2021
bd273d4
made changes
sanketrathi2330 Apr 6, 2021
65826dd
removed --dev
sanketrathi2330 Apr 6, 2021
fef34cf
trying update
sanketrathi2330 Apr 6, 2021
6b0c7e6
back to stable
sanketrathi2330 Apr 6, 2021
9dc81f4
added trace
sanketrathi2330 Apr 6, 2021
ff57d50
added verbose
sanketrathi2330 Apr 6, 2021
fba1547
added option
sanketrathi2330 Apr 6, 2021
23a291a
removed option
sanketrathi2330 Apr 6, 2021
c2a5606
added with all dependency
sanketrathi2330 Apr 6, 2021
5055af0
updated
sanketrathi2330 Apr 6, 2021
b9dd470
made some changes
sanketrathi2330 Apr 6, 2021
df4ba56
updated
sanketrathi2330 Apr 6, 2021
4424c12
updated
sanketrathi2330 Apr 6, 2021
28712bb
updated
sanketrathi2330 Apr 6, 2021
663baf5
commented guzzle 6
sanketrathi2330 Apr 6, 2021
305d04c
removed traces
sanketrathi2330 Apr 6, 2021
64e3004
added composer require
sanketrathi2330 Apr 6, 2021
4ff0286
uncommented guzzle
sanketrathi2330 Apr 6, 2021
3f9849a
reverted
sanketrathi2330 Apr 6, 2021
78aa978
updated
sanketrathi2330 Apr 6, 2021
6eb957e
reverted
sanketrathi2330 Apr 6, 2021
28194cd
uncommented guzzle 6
sanketrathi2330 Apr 6, 2021
fdb9685
updated guzzle 6 version
sanketrathi2330 Apr 7, 2021
841bc63
commented guzzle 6
sanketrathi2330 Apr 7, 2021
728b5a4
removed traces
sanketrathi2330 Apr 7, 2021
8dbcf2f
updated to razorpay/opencensus
sanketrathi2330 Apr 7, 2021
b914dc2
updated to razorpay/opencensus
sanketrathi2330 Apr 7, 2021
c63b132
updated
sanketrathi2330 Apr 7, 2021
72ebfde
made change
sanketrathi2330 Apr 7, 2021
217812c
from current branch
sanketrathi2330 Apr 7, 2021
608c40f
updated
sanketrathi2330 Apr 7, 2021
b4a6f9b
updated
sanketrathi2330 Apr 7, 2021
e95d0fb
updated
sanketrathi2330 Apr 7, 2021
470ef70
updated
sanketrathi2330 Apr 7, 2021
bbb9b67
updated
sanketrathi2330 Apr 7, 2021
3956969
updated
sanketrathi2330 Apr 7, 2021
7cda039
updated
sanketrathi2330 Apr 7, 2021
ac0a392
added count() func
sanketrathi2330 Apr 7, 2021
6ff1be2
uncommented
sanketrathi2330 Apr 7, 2021
b95d658
updated
sanketrathi2330 Apr 7, 2021
6fe3ebd
updated
sanketrathi2330 Apr 7, 2021
63abf4b
added count method
sanketrathi2330 Apr 7, 2021
7a14e38
updated
sanketrathi2330 Apr 7, 2021
482b043
updated
sanketrathi2330 Apr 7, 2021
3df9361
updated to /razorpay
sanketrathi2330 Apr 7, 2021
c29d05d
updated
sanketrathi2330 Apr 7, 2021
bdb3d0d
updated
sanketrathi2330 Apr 7, 2021
11ee976
updated
sanketrathi2330 Apr 7, 2021
bf5efbf
updated
sanketrathi2330 Apr 7, 2021
7cb6f27
moved symfony test above
sanketrathi2330 Apr 7, 2021
74e19b3
updated
sanketrathi2330 Apr 7, 2021
4555e1e
updated
sanketrathi2330 Apr 7, 2021
26721d5
removed postgres password
sanketrathi2330 Apr 7, 2021
f6a5ee1
updated
sanketrathi2330 Apr 7, 2021
a300d3a
updated xml version
sanketrathi2330 Apr 7, 2021
a2328f2
updated
sanketrathi2330 Apr 7, 2021
1de1916
updated
sanketrathi2330 Apr 7, 2021
55e3fd0
updated
sanketrathi2330 Apr 8, 2021
23079c7
updated stability
sanketrathi2330 Apr 8, 2021
699a599
reverted
sanketrathi2330 Apr 8, 2021
c0947b4
updated
sanketrathi2330 Apr 8, 2021
2d91ad5
updated
sanketrathi2330 Apr 8, 2021
25ec17e
marked test skipped
sanketrathi2330 Apr 8, 2021
8e00177
updated
sanketrathi2330 Apr 8, 2021
8e254dc
updated
sanketrathi2330 Apr 8, 2021
4d93ef8
updated
sanketrathi2330 Apr 8, 2021
3752ef7
updated
sanketrathi2330 Apr 8, 2021
d6e53db
updated
sanketrathi2330 Apr 8, 2021
27caa9f
updated
sanketrathi2330 Apr 8, 2021
c4b9704
updated
sanketrathi2330 Apr 8, 2021
314ee85
refactored
sanketrathi2330 Apr 8, 2021
e058488
updated
sanketrathi2330 Apr 8, 2021
355a1e5
updated
sanketrathi2330 Apr 8, 2021
ca85a64
updated
sanketrathi2330 Apr 8, 2021
265b9e1
updated
sanketrathi2330 Apr 8, 2021
29b83e2
updated
sanketrathi2330 Apr 8, 2021
4daa98c
updated
sanketrathi2330 Apr 9, 2021
17973e5
updated
sanketrathi2330 Apr 9, 2021
576bf3a
updated
sanketrathi2330 Apr 9, 2021
646a847
updated
sanketrathi2330 Apr 9, 2021
d5c515e
updated
sanketrathi2330 Apr 9, 2021
8dc14f0
updated
sanketrathi2330 Apr 9, 2021
553e581
updated
sanketrathi2330 Apr 9, 2021
e6e9402
updated
sanketrathi2330 Apr 9, 2021
38b736b
updated
sanketrathi2330 Apr 9, 2021
926b24d
updated
sanketrathi2330 Apr 9, 2021
f5a8322
updated
sanketrathi2330 Apr 9, 2021
1ff34f1
updated
sanketrathi2330 Apr 9, 2021
6c4169b
updated
sanketrathi2330 Apr 9, 2021
3df1dd5
updated
sanketrathi2330 Apr 9, 2021
77a4e64
updated
sanketrathi2330 Apr 9, 2021
3daf2d9
Fix incorrect mysql dsn and add proxy tag
akashsharma95 Apr 9, 2021
c57796a
review comments fix
akashsharma95 Apr 9, 2021
62aab80
review comments fix
akashsharma95 Apr 9, 2021
ebd9cc4
Merge pull request #17 from razorpay/pdo-attr
akashsharma95 Apr 12, 2021
76c228f
updated
sanketrathi2330 Apr 14, 2021
6ca9dfc
updated
sanketrathi2330 Apr 14, 2021
0c84f35
updated
sanketrathi2330 Apr 14, 2021
0fe2d8c
updated
sanketrathi2330 Apr 14, 2021
76ef6bd
updated
sanketrathi2330 Apr 14, 2021
8fdcdcd
updated
sanketrathi2330 Apr 14, 2021
e37f218
updated
sanketrathi2330 Apr 14, 2021
e1a7d03
updated
sanketrathi2330 Apr 14, 2021
c4ac787
removed echo
sanketrathi2330 Apr 14, 2021
5b3505a
Merge branch 'release' into migration_to_git_actions
akashsharma95 Apr 15, 2021
060b29a
corrected fmt
sanketrathi2330 Apr 15, 2021
29cbcca
updated test
sanketrathi2330 Apr 15, 2021
29e255b
fix failing testcases
akashsharma95 Apr 15, 2021
621b14f
disable travis ci
akashsharma95 Apr 15, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .github/workflows/build_images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
on: [push]
jobs:
cancel:
runs-on: ubuntu-latest
name: Cancel Previous Runs
if: always()
steps:
- uses: styfle/cancel-workflow-action@d57d93c3a8110b00c3a2c0b64b8516013c9fd4c9
if: github.ref != 'refs/heads/master'
name: cancel old workflows
id: cancel
with:
workflow_id: "build_images.yml"
access_token: ${{ github.token }}
- if: github.ref == 'refs/heads/master'
name: Don't cancel old workflows
id: dont_cancel
run: |
echo "Don't cancel old workflow"
build-web:
name: Extension Build
runs-on: ubuntu-latest
needs: [cancel]
continue-on-error: false
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Login to Dockerhub
uses: docker/login-action@v1
with:
username: ${{ secrets.PUBLIC_DOCKER_USERNAME }}
password: ${{ secrets.PUBLIC_DOCKER_PASSWORD }}
- name: Push To Dockerhub
uses: docker/build-push-action@v1
with:
username: ${{ secrets.PUBLIC_DOCKER_USERNAME }}
password: ${{ secrets.PUBLIC_DOCKER_PASSWORD }}
repository: ${{ github.repository }}
tags: ${{ github.sha }}
dockerfile: Dockerfile.rzp
build_args: GIT_COMMIT_HASH=${{ github.sha }},GIT_TOKEN=${{ secrets.GIT_ACTION_TOKEN }},GIT_USERNAME=rzp

160 changes: 160 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
name: CI
on: [ push ]

jobs:
build:
strategy:
fail-fast: false
matrix:
php: [ 7.0, 7.1, 7.2, 7.3, 7.4 ]

runs-on: ubuntu-latest

env:
TEST_PHP_ARGS: -q
REPORT_EXIT_STATUS: 1
RUN_EXTENSION_TESTS: 1
SUDO_CMD: "sudo"

steps:
- uses: actions/checkout@v2

- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: "${{ matrix.php }}"

- name: Install build tools
run: |
autoconf -V || \
(
$SUDO_CMD apt-get update -y && \
$SUDO_CMD apt-get install -y -q --no-install-recommends \
build-essential \
g++ \
gcc \
libc-dev \
make \
autoconf \
git \
unzip
)

- name: Extension unit tests
run: |
if [ $RUN_EXTENSION_TESTS -eq "1" ]; then
pushd ext
phpize
./configure --enable-opencensus
make test || ((find . -name '*.diff' | xargs cat) && false)
$SUDO_CMD make install
popd
else
echo "Skipping extension tests"
fi

- name: Cache Dependency
uses: actions/cache@v2
with:
path: ./vendor
key: v3-dependencies-${{ matrix.php }}-${{ hashFiles('composer.json') }}

- name: Install composer packages
run: composer install -n --prefer-dist

- name: Enable E_ALL error reporting for strict testing
run: $SUDO_CMD cp config/php.ini /usr/local/etc/php

- name: PHP Code Style
run: vendor/bin/phpcs --standard=./phpcs.xml

- name: PHP unit tests
run: vendor/bin/phpunit

- name: PHP unit tests with extension
run: |
if [ $RUN_EXTENSION_TESTS -eq "1" ]; then
php -d extension=opencensus.so vendor/bin/phpunit
else
echo "Skipping units tests with extension"
fi

integration:
runs-on: ubuntu-latest
env:
DB_HOST: 127.0.0.1
DB_USERNAME: mysql
DB_PASSWORD: mysql
DB_DATABASE: mysqldb
TEST_HOST: localhost
TEST_PORT: 9999
TEST_URL: http://localhost:9999

steps:
- uses: actions/checkout@v2

- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.2
extensions: memcached, pdo_mysql, mysqli, pdo_pgsql, pcntl
ini-values: extension=opencensus.so

- uses: niden/actions-memcached@v7

- name: Install opencensus extension
run: |
cd ext
phpize
./configure --enable-opencensus
sudo make install

- name: Install memcached extension
run: |
sudo apt-get install -y -q --no-install-recommends \
libmemcached11 libmemcached-dev zlib1g-dev zlib1g

- name: Curl test
run: tests/integration/curl/test.sh

- name: Wordpress test
run: tests/integration/wordpress/test.sh

- name: Laravel test
run: tests/integration/laravel/test.sh

- name: Guzzle 5 test
run: tests/integration/guzzle5/test.sh

- name: Guzzle 6 test
run: tests/integration/guzzle6/test.sh

- name: Memcached test
run: tests/integration/memcached/test.sh

- name: Pgsql test
run: tests/integration/pgsql/test.sh

- name: Symfony 4 test
run: tests/integration/symfony4/test.sh
env:
DATABASE_URL: mysql://mysql:mysql@127.0.0.1:3306/mysqldb

services:
mysql:
image: mysql:5.7
ports:
- 3306:3306
env:
MYSQL_USER: mysql
MYSQL_PASSWORD: mysql
MYSQL_DATABASE: mysqldb
MYSQL_RANDOM_ROOT_PASSWORD: yes
MYSQL_ALLOW_EMPTY_PASSWORD: 1
postgres:
image: postgres:9.6
env:
POSTGRES_PASSWORD: pgsql
POSTGRES_USER: postgres
ports:
- 5432:5432
29 changes: 0 additions & 29 deletions .travis.yml

This file was deleted.

5 changes: 5 additions & 0 deletions Dockerfile.rzp
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
FROM razorpay/onggi:php-base

COPY ext /ext

RUN cd /ext && phpize && ./configure --enable-opencensus && make install
2 changes: 1 addition & 1 deletion config/php.ini
Original file line number Diff line number Diff line change
@@ -1 +1 @@
error_reporting = E_ALL
error_reporting = E_ALL
28 changes: 28 additions & 0 deletions ext/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,26 @@ You can retrieve the version of this extension at runtime.
function opencensus_trace_version();
```

```php
/**
* Retrieve the count of collected trace spans, currently in memory
*
* @return int
*/
function opencensus_trace_count();
}
```

```php
/**
* Removes a span from the list.
*
* @param string $key
*
*/
function opencensus_trace_remove_span($key);
```

This library follows [Semantic Versioning](http://semver.org/).

Please note it is currently under active development. Any release versioned
Expand All @@ -342,3 +362,11 @@ See [CONTRIBUTING](../CONTRIBUTING.md) for more information on how to get starte
## License

Apache 2.0 - See [LICENSE](LICENSE) for more information.

## Exporting span once limit is reached to stop memory from bloating

Have added $spanBufferLimit variable in ExtensionTracer.php to control the maximun number
of spans that can be hold in memory at any time, when the limit is reached the tracer itself
export all the closed spans.


6 changes: 6 additions & 0 deletions ext/opencensus.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_opencensus_trace_add_attribute, 0, 0, 2)
ZEND_ARG_ARRAY_INFO(0, options, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_opencensus_trace_remove_span, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_opencensus_trace_add_annotation, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, description, IS_STRING, 0)
ZEND_ARG_ARRAY_INFO(0, options, 0)
Expand Down Expand Up @@ -90,12 +94,14 @@ static zend_function_entry opencensus_functions[] = {
PHP_FE(opencensus_trace_function, arginfo_opencensus_trace_function)
PHP_FE(opencensus_trace_method, arginfo_opencensus_trace_method)
PHP_FE(opencensus_trace_list, NULL)
PHP_FE(opencensus_trace_count, NULL)
PHP_FE(opencensus_trace_begin, arginfo_opencensus_trace_begin)
PHP_FE(opencensus_trace_finish, NULL)
PHP_FE(opencensus_trace_clear, NULL)
PHP_FE(opencensus_trace_set_context, arginfo_opencensus_trace_set_context)
PHP_FE(opencensus_trace_context, NULL)
PHP_FE(opencensus_trace_add_attribute, arginfo_opencensus_trace_add_attribute)
PHP_FE(opencensus_trace_remove_span, arginfo_opencensus_trace_remove_span)
PHP_FE(opencensus_trace_add_annotation, arginfo_opencensus_trace_add_annotation)
PHP_FE(opencensus_trace_add_link, arginfo_opencensus_trace_add_link)
PHP_FE(opencensus_trace_add_message_event, arginfo_opencensus_trace_add_message_event)
Expand Down
Loading