Download the PHP package extraswoft/zipkin without Composer

On this page you can find all versions of the php package extraswoft/zipkin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package zipkin

简介

本项目属于swoft的zipkin client,非侵入式地对项目环境进行跟踪并且异步上报到zipkin server,可以和其他的swoft项目或者其他语言(java,go)进行全链路监控。

配置步骤

1.composer

因为opentracing/opentracing的最新版本是一个dev版本,所以外部项目comoposer引入是会报错的,所以需要显示的把配置放入composer.json,然后 composer update

2.config/properties/app.php 添加

需要在app文件,beanScan里加上扫描我们的命名空间

3.config/beans/base.php添加我们的中间件

4.在.env配置文件中添加以下配置

ZIPKIN_HOST: zipkin server 的地址
ZIPKIN_RAND: 采样率,100为100%

5.httpClient 的修改

当我们使用swoft官方的httpClient的时候,需要使用我们客户端的adapter

当然,你也可以看下我们适配器的源码放到自己的适配器里,比较简单

源码修改

因为在mysql,redis和http的请求上没有钩子函数,所以我们需要自己实现,只要在请求开始和结束加上事件触发即可。建议自己或者公司项目直接fork官方的swoft-component,然后根据自己需要开发,并且隔一段时间同步最新代码,在swoft里面composer使用component这个仓库。

1.mysql(协程)

src/db/src/Db.php中,在$connection->prepare($sql);前添加(注意命名空间加入)

src/db/src/DbCoResult.php中,在Log::profileEnd($this->profileKey);后添加(注意命名空间加入)

2.redis (非协程),协程可以根据自己需要添加

src/redis/src/Redis.php(注意命名空间加入)

在 $result = $connection->$method(...$params);前后添加

3.httpClient (协程)

src/http-client/src/Adapter/CoroutineAdapter.php

在 $client->execute($path);前添加

src/http-client/src/HttpCoResult.php

在 $client->close();后添加

完成

完成以上修改后,重新composer引入新的包,然后重启项目就可以了

使用zipkin server

效果图

每个swoft项目通过这些步骤后都可以进行监控了,下面是两个swoft采用之后的全链路效果图 zipkin httpClient

zipkin httpClient2

后记

如果你想对全链路有更深的了解或者对我的项目实现有所了解,甚至想应用到其他php框架或者其他语言上去,可以看下我写的这篇文章php全链路监控完全实现(swoft举例)


All versions of zipkin with dependencies

PHP Build Version
Package Version
Requires jcchavezs/zipkin-opentracing Version ^0.1.2
psr/http-server-handler Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package extraswoft/zipkin contains the following files

Loading the files please wait ....