Visit our official web site for more information and Latest updates on Pinpoint
The current stable version is v0.2.0.
It is an agent written by C++, PHP, python language. And we hope to support other languages by this agent. Until now, it supports PHP language.
Dependency | Version |
---|---|
PHP | php 7+ |
GCC | GCC 5+ |
*inux | |
Python | Python 3 |
pinpoint | 1.8.0-RC1 |
Composer |
Build pinpoint-php-module
- Goto PHP/pinpoint_php_ext
-
phpize
-
./configure
-
make
-
make test # we commanded test the module is RIGHT
-
make install
-
Activation pinpoint module
php.ini
extension=pinpoint_php.so # must be unix:(unix sock address) pinpoint_php.CollectorHost=unix:/tmp/collector-agent.sock pinpoint_php.SendSpanTimeOutMs=0 # 0 is recommanded # request should be captured duing 1 second. < 0 means no limited pinpoint_php.TraceLimit=-1
-
Build Collect-agent
- Goto collector-agent
-
python3 -m venv env
-
source env/bin/activate
-
pip3 install -r requirements.txt
-
Change configuration file in conf/collector.conf
[Collector] # collectorhost and specific port CollectorSpanIp=10.10.23.45 CollectorSpanPort=9905 CollectorStatIp=10.10.23.45 CollectorStatPort=9906 CollectorTcpIp=10.10.23.45 CollectorTcpPort=9907 [Common] # your web server (nginx&apache) port Web_Port=8001 # debug in dev Log_Level=ERROR # make sure LOG_DIR is exist LOG_DIR=/your log dir/ [Agent] # the same as below "pinpoint_php.CollectorHost" Address=/tmp/collector-agent.sock
-
export COLLECTOR_CONFIG=/full path of collector.conf/
-
run collector-agent
$ python run.py (or nohup python run.py&)
-
Try the aop example
- Goto PHP/pinpoint_php_example
- Download composer.phar. How To Use Composer?
- php composer.phar install
- Set $PWD/app/ as your web site root path
- redis,DB,memcache plugins ......
- workerman,php-swoole plugins
Pinpoint Version | PHP | Python | GCC |
---|---|---|---|
1.8.0-RC1 | PHP 7+ | Python3 | GCC 5+ |
- Fully support ZTS
- More Stability
- Higher performance
- Easy to Use and Maintain
-
Submit an issue
-
QQ Group: 897594820
- DING Group:
Delete __class_index_table in Cache/
We can DO but perfer not DO! Not found a good efficiency way to implement this. Watching the files status every time is a bad deal.
After full test, the AOP code could consume at least 1ms in our env(E5-2660 v4 @ 2.00GHz). While, the more function/method you watching, the more you taken.
Sorry, php-simple-aop
not supported wrapping the user class (or internal class) without Composer/autoloader. By the way Composer is GOOD. O(∩_∩)O
https://www.php.net/supported-versions.php
This project is licensed under the Apache License, Version 2.0. See LICENSE for full license text.
Copyright 2018 NAVER Corp.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.