- DbFactoryTracer - 数据库工厂(跟踪)
const dbFactory: DbFactoryBase;
const dbFactoryTracer: DbFactoryBase = new DbFactoryTracer(dbFactory);
- ProjectDbFactoryTracer - 项目数据库工厂(跟踪)
const configDbFactoryTracer: ITraceable<DbFactoryBase>;
const loadProjectDataFunc: EnumLoadDelegate<ProjectData>;
const buildDbFactoryFunc: (name: string, url: string) => DbFactoryBase;
const dbFactoryTracer: DbFactoryBase = new ProjectDbFactoryTracer('应用', '环境', loadProjectDataFunc, buildDbFactoryFunc);
const origin: ITraceable<T>;
const parentSpan: opentracing.Span;
const tracer: opentracing.Tracer;
const res: T = origin.withTrace(parentSpan, tracer);
- TracerStrategy<T> - 默认跟踪策略
const origin: T;
const tracer: ITraceable<T> = new TracerStrategy(origin);
loadAllProjectWithTracer - 加载项目数据(跟踪)
const cache: CacheBase;
const parentSpan: opentracing.Span;
const tracer: opentracing.Tracer;
const allProjectData = await loadAllProjectWithTracer(cache, '配置服务地址', parentSpan, tracer);
- buildRedisTracer - 创建redis(跟踪)
const redis: RedisBase;
const redisTracer = buildRedisTracer(redis);
const rpc: RpcBase;
const rpcTracer: RpcBase = new RpcTracer(rpc);
- ProjectRpcTracer - 项目rpc(跟踪)
const cache: CacheBase;
const rpc: RpcBase = new ProjectRpcTracer(cache, '配置服务地址', '环境');
- UserFactoryTracer - 玩家工厂(可跟踪)
const allUserModuleDelegate: AllUserModuleDelegate;
const parentSpan: opentracing.Span;
const tracer: opentracing.Tracer;
const userFactory: UserFactoryBase<UserServiceTracer> = new UserFactoryTracer(allUserModuleDelegate, parentSpan, tracer);
UserModuleDelegate<TOption extends UserModuleDelegateOption, TModule> - 玩家模块委托
- buildRpcTracerUserValueDelegate - 创建rpc UserValue委托(可跟踪)
const rpc: RpcBase;
const userValueDelegate = buildRpcTracerUserValueDelegate(rpc);