Registry / testing / xa-grpc-tracker

xa-grpc-tracker

JSON →
library1.0.7jsnpmunverified

xa-grpc-tracker is an Egg.js plugin for gRPC distributed tracing. Version 1.0.7 generates a new tracker object per request context (ctx, ctx.request, ctx.response). It sends span reports to a configurable HTTP API. Part of the Egg plugin ecosystem, it integrates seamlessly with Egg.js applications via declarative plugin configuration. The package enables both server and client span tracking, with support for custom span names, trace IDs, and parent-child span relationships. Release cadence is low (last update unknown), and it is specifically designed for Egg.js gRPC services needing lightweight tracing without external dependencies.

npm install xa-grpc-tracker
INSTALL
IMPORT
SIG · XA-GRPC-TRACKER
X
xa-grpc-tracker
testingjavascriptv1.0.7
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

xaGrpcTracker
// Access via this.ctx.xaGrpcTracker in Egg controller const { xaGrpcTracker } = this.ctx;
const xaGrpcTracker = require('xa-grpc-tracker');
Plugin does not export the constructor directly; it is exposed on the context object via Egg plugin mechanism.

Enables the plugin, configures gRPC tracing endpoint, and demonstrates server and client span tracking in an Egg.js controller.

// {app_root}/config/plugin.js exports.xaGrpcTracker = { enable: true, package: 'xa-grpc-tracker', }; // {app_root}/config/config.default.js exports.xaGrpcTracker = { debug: false, port: 50051, url: 'http://10.12.31.175:18166/lqm/spanReport', }; // {app_root}/app/controller/home.js const Controller = require('egg').Controller; class HomeController extends Controller { async index() { const mockGrpcRequest = { dln: 'grpc-dln', span_name: 'server_span_name', span_id: '16charspanid', parent_id: '16charparentid', trace_id: '32chartraceid', }; const { xaGrpcTracker } = this.ctx; const trackerServer = new xaGrpcTracker(this.ctx, mockGrpcRequest); const span_name = 'client_span_name'; const { dln, span_id: parent_id, trace_id } = trackerServer.trackerParams; const trackerClient = new xaGrpcTracker(this.ctx, { dln, span_name, parent_id, trace_id }); trackerServer.sendToRemote(1); trackerClient.sendToRemote(2); trackerClient.sendToRemote(3); trackerServer.sendToRemote(0); this.ctx.body = trackerServer.trackerParams; } } module.exports = HomeController;
Debug
Known issues
gotchaThe package is specific to Egg.js framework; cannot be used standalone outside Egg.
fix
Ensure your project uses Egg.js and the plugin is configured in config/plugin.js.
affects: *
gotchaThe 'xaGrpcTracker' constructor is accessed via this.ctx, not via require.
fix
Use const { xaGrpcTracker } = this.ctx; inside an Egg controller or middleware.
affects: *
gotchaThe HTTP API endpoint URL must be configured; otherwise spans are not sent.
fix
Set exports.xaGrpcTracker.url in config.default.js to a valid span report API.
affects: *
Errors
Common errors & fixes
Cannot find module 'xa-grpc-tracker'
Package not installed or not enabled in plugin.js
fix
Run npm install xa-grpc-tracker and ensure plugin.js has exports.xaGrpcTracker = { enable: true, package: 'xa-grpc-tracker' };
xaGrpcTracker is not a constructor
Attempting to require the package directly instead of accessing via this.ctx
fix
Use const { xaGrpcTracker } = this.ctx; inside an Egg controller.
Upgrade
Version history
1.0.7latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
21 hits · last 30 days
node
20
Resources
xa-grpc-tracker — npm install xa-grpc-tracker · libregistry