Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zoonru/pyrospy
Adapter from phpspy to pyroscope
https://github.com/zoonru/pyrospy
adapter phpspy profiler pyroscope
Last synced: 2 months ago
JSON representation
Adapter from phpspy to pyroscope
- Host: GitHub
- URL: https://github.com/zoonru/pyrospy
- Owner: zoonru
- License: mit
- Created: 2022-04-26T15:28:15.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-01T17:17:16.000Z (4 months ago)
- Last Synced: 2024-11-06T17:24:12.306Z (2 months ago)
- Topics: adapter, phpspy, profiler, pyroscope
- Language: PHP
- Homepage:
- Size: 37.1 KB
- Stars: 18
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PyroSpy
Adapter from [phpspy](https://github.com/adsr/phpspy) to [pyroscope.io](https://pyroscope.io)## About Us
Zoon - it's international service, that helps local businesses grow.
- We tell the audience about the services and products of companies
- We promote on dozens of sites: in the catalog on zoon.ru, on partner sites, on Yandex and Google maps
- We help business owners manage marketing from a single personal account
## Phpspy requirements
- `apt install binutils` for Ubuntu/Debian
- To use in docker container it must be `privileged` or with capability `SYS_PTRACE`
## Parameters:
```text
Usage:
php pyrospy.php run [options]
Options:
-s, --pyroscope=STRING Url of the pyroscope server.
Example: https://your-pyroscope-sever.com
-auth, --pyroscopeAuthToken=STRING
Pyroscope Auth Token.
Example: psx-BWlqy_dW1Wxg6oBjuCWD28HxGCkB1Jfzt-jjtqHzrkzI
-a, --app=STRING Name of app.
All samples will be saved under given app name.
Example: app
-r, --rateHz=INT Sample rate in Hz.
Used to convert number of samples to CPU time
[default: 100]
-i, --interval=INT Maximum time between requests to pyroscope server
[default: 10]
-b, --batch=INT Maximum number of traces in request to pyroscope server
[default: 250]
-t, --tags=STRING=STRING Add tags to samples. Use to filter data inside one app.
Example: host=server1; role=cli
(multiple values allowed)
-p, --plugins=STRING Load custom class to modify trace and phpspy comments/tags. Can be class or folder with classes.
Example: /zoon/pyrospy/app/Plugins/ClearEmptyTags.php
(multiple values allowed)
-h, --help Display help for the given command.
When no command is given display help for the list command
```
## Usage:
```shell
phpspy --max-depth=-1 --time-limit-ms=59000 --threads=1024 --rate-hz=4 --buffer-size=65536 -J m -P '-x "php|php[0-9]\.[0-9]" | shuf' 2> error_log.log | php pyrospy.php run --pyroscope=https://pyroscope.yourdomain.com --rateHz=4 --app=testApp --tags=host=server39 --tags=role=cli
phpspy --max-depth=-1 --time-limit-ms=59000 --threads=100 --rate-hz=25 --buffer-size=65536 -J m -P '-x "php-fpm|php-fpm[0-9]\.[0-9]" | shuf' 2> error_log.log | php pyrospy.php run --pyroscope=https://pyroscope.yourdomain.com --rateHz=25 --app=testApp --tags=host=server39 --tags=role=web
```
## Plugins
1. Create `.php` plugin class. Put it in any place. Make sure it has `namespace Zoon\PyroSpy\Plugins;` and classname match filename.
```php
error_log.log | php pyrospy.php run --pyroscope=https://pyroscope.yourdomain.com --rateHz=25 --app=testApp --tags=host=server39 --tags=role=web --plugins=/zoon/pyrospy/app/Plugins/ClearEmptyTags.php
```