Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Zipkin instrumentation for Node.js and browsers
| Date | Stars |
|---|---|
| 2026-07-24 | 569 |
| 2026-07-25 | 569 |
| 2026-07-28 | 569 |
| 2026-07-30 | 569 |
| 2026-08-06 | 569 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Zipkin JS
[](https://travis-ci.org/openzipkin/zipkin-js)
[](https://badge.fury.io/js/zipkin)

[](https://gitter.im/openzipkin/zipkin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
This is a set of libraries for instrumenting Node.js and browser applications. The `zipkin` library can be run in both Node.js and the browser.
If you'd like to try this out right away, try our [example app](https://github.com/openzipkin/zipkin-js-example) which shows
how tracing services looks.
## Installation
```bash
npm install zipkin --save
```
## Basic Setup
```javascript
const {
Tracer,
BatchRecorder,
jsonEncoder: {JSON_V2}
} = require('zipkin');
const CLSContext = require('zipkin-context-cls');
const {HttpLogger} = require('zipkin-transport-http');
// Setup the tracer
const tracer = new Tracer({
ctxImpl: new CLSContext('zipkin'), // implicit in-process context
recorder: new BatchRecorder({
logger: new HttpLogger({
endpoint: 'http://localhost:9411/api/v2/spans',
jsonEncoder: JSON_V2
})
}), // batched http recorder
localServiceName: 'service-a' // name of this application
});
// now use tracer to construct instrumentation! For example, fetch
const wrapFetch = require('zipkin-instrumentation-fetch');
const remoteServiceName = 'youtube'; // name of the application that
// will be called (optional)
const zipkinFetch = wrapFetch(fetch, {tracer, remoteServiceName});
```
## Browser
The `zipkin` library can be used in the browser. The `web` [example](https://github.com/openzipkin/zipkin-js-example) shows an example of a browser based application making a call to a backend server with trace headers attached.
### Instrumentation
The following libraries can be instrumented in the browser:
- [fetch](packages/zipkin-instrumentation-fetch) (zipkin-instrumentation-fetch)
### Transports
The following transport is available for use in the browser:
- [http](packages/zipkin-transport-http)
For debugging purposes, you can also use the `ConsoleRecorder`:
```javascript
const tracer = new Tracer({
ctxImpl: new ExplicitContext(),
recorder: new ConsoleRecorder(),
localServiceName: 'service-a' // name of this application
});
```
### Typescript
Since some of the `zipkin-js` libraries are used in both the browser and Node.js runtimes, some Typescript may complain about missing dependencies when attempting to compile with these libraries for the browser. For instance, the `zipkin-transport-http` library will determine at runtime whether to use the `window.fetch` API instead of `node-fetch` but the compiler will attempt to resolve `node-fetch`. As a workaround, you can stub the libraries since they are not used in your `tsconfig.json` (this assumes you added the `empty` module to your `package.json` but any library could be used):
```json
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"node-fetch": [
"node_modules/empty/index.js"
],
"os": [
"node_modules/empty/index.js"
],
}
}
}
```
## Node.js
The following libraries are specific to Node.js. Node.js version 8.x and later are supported:
- zipkin-context-cls
- zipkin-encoder-thrift
### Instrumentations
Various Node.js libraries have been instrumented with Zipkin support.
Every instrumentation has an npm package called `zipkin-instrumentation-*`.
At the time of writing, zipkin-js instruments these libraries:
- [cujojs/rest](packages/zipkin-instrumentation-cujojs-rest) (zipkin-instrumentation-cujojs-rest)
- [express](packages/zipkin-instrumentation-express) (zipkin-instrumentation-express)
- [fetch](packages/zipkin-instrumentation-fetch) (zipkin-instrumentation-fetch)
- [got](packages/zipkin-instrumentExcerpt of 9,684 characters
Read on GitHubJosé Carlos Chávez · @okta
138
61
24
Eirik Sletteberg · @digitalservicebund · Germany
19
15
12
11
9
Ken Chen · OOCL · China
7
6
5
Simen Bekkhus · @cvpartner · Norway
5
5
4
Chris Smith · ZocDoc
4
4
4
4
4
3
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:42d7eca604ae8c81, topic:tracing