0.4.1 • Published 7 years ago

zhike-zipkin-express v0.4.1

Weekly downloads
99
License
-
Repository
-
Last release
7 years ago

zipkin后端组件集合

to-do list

  • express支持
  • restify支持
  • koa@2支持
  • request支持
  • rest支持
  • koa@1.x支持
  • mongodb支持
  • sequelize支持
  • proxy相关支持

更新日志

v0.4.1

  • 修复了之前包装mongodb存在的隐患(实际上算是错误...)
  • 加入了对find/aggregate的支持(不完善,没找到更好的方案)

v0.4.0

  • 增加了对mongodb的支持
  • 新增了一个过滤器,可以根据需要导出需要的包,而不需要每次导出那些不需要的包。

配置

config = {
    serviceName: String; // 服务名称
    zipkinServiceUrl: String; // zipkin 服务url
    disableTracing: Boolean; // 禁用zipkin, default: false
    remoteServiceName?: String; // 可选
}

// 示例
const zipkinConfig = {
    zipkinServiceUrl: "data.smartstudy.com/api/v1/spans",
    serviceName: "yourProjName",
    disableTracing: false
};

过滤器可以参考下面的示例。

filter = ["mongodbWrapper", "expressMiddleware"]; // array
filter = "expressMiddleware"; // string

使用示例

注意事项

测试用例需要本地起一个数据库和一个zipkin服务,不然会报错。

// 测试
npm test

安装

npm i zhike-zipkin-backend

express中间件

const { expressMiddleware } = require("zhike-zipkin-backend")(config, ["mongodbWrapper", "expressMiddleware"]);
app.use(koaMiddleware)

restify中间件

const { restifyMiddleware } = require("zhike-zipkin-backend")(config, "restifyMiddleware");
app.use(koaMiddleware)

koa@2中间件

const { koaMiddleware } = require("zhike-zipkin-backend")(config);
app.use(koaMiddleware)

koa@1.x中间件

const { "koaMiddleware@1.x": koaMiddleware } = require("zhike-zipkin-backend")(config);
app.use(koaMiddleware)

包装request

request, request-promise都支持

const request = require("zhike-zipkin-backend")(config).requestWrapper(require("request"));
const rp = require("zhike-zipkin-backend")(config).requestWrapper(require("request-promise"));

包装rest

const rest = require("zhike-zipkin-backend")(config).restWrapper(require("rest"));

包装mongodb

// 这里建议以服务名称-mongo来命名
const mongodb = require("zhike-zipkin-backend")(config).mongodbWrapper(require("mongodb"), "service-mongo");

这里需要注意,这里的包装是全局性的,每次包装都会覆盖之前的修改,例如下面的例子

const mongodb1 = require("zhike-zipkin-backend")(config).mongodbWrapper(require("mongodb"), "firstMongo");
const mongodb2 = require("zhike-zipkin-backend")(config).mongodbWrapper(require("mongodb"), "secondMongo");

// 后面的过程实际上都是用的mongodb2
mongodb2.should.not.deep.equal(mongodb1);
0.4.1

7 years ago

0.4.0

7 years ago

0.3.2

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.0.9

7 years ago

0.1.1

7 years ago

0.0.6

7 years ago

0.0.5

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago