From 412f781270f286bd52bfabecfafaf4d2a0c94d24 Mon Sep 17 00:00:00 2001 From: MarioDu Date: Mon, 15 Jan 2018 21:03:30 +0800 Subject: [PATCH] feat: add start/end local span --- packages/metrics/src/trace/Constants.ts | 1 + packages/metrics/src/trace/TraceManager.ts | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/metrics/src/trace/Constants.ts b/packages/metrics/src/trace/Constants.ts index 8f06193b..0df0c6aa 100644 --- a/packages/metrics/src/trace/Constants.ts +++ b/packages/metrics/src/trace/Constants.ts @@ -4,4 +4,5 @@ export const TIMEOUT_TRACE = 6; export const ERROR_TRACE = 8; export const TRACER_TIMEOUT = 30 * 1000; export const CURRENT_SPAN = Symbol('CURRENT_SPAN'); +export const CURRENT_TRACER = Symbol('CURRENT_TRACER'); export const SKIP_RATE = Symbol('SKIP_RATE'); \ No newline at end of file diff --git a/packages/metrics/src/trace/TraceManager.ts b/packages/metrics/src/trace/TraceManager.ts index 8d9a88a3..f329663a 100644 --- a/packages/metrics/src/trace/TraceManager.ts +++ b/packages/metrics/src/trace/TraceManager.ts @@ -1,12 +1,11 @@ 'use strict'; const cls = require('./cls'); -const TRACEID = 'traceId'; const uuid = require('uuid'); import { Tracer } from './Tracer'; const debug = require('debug')('Pandora:Metrics:TraceManager'); import { MessageSender } from '../util/MessageSender'; import { MessageConstants } from '../MetricsConstants'; -import { TRACER_TIMEOUT } from './Constants'; +import { TRACER_TIMEOUT, CURRENT_TRACER } from './Constants'; export class TraceManager { @@ -49,7 +48,7 @@ export class TraceManager { } getCurrentTracer() { - const traceId = this.ns.get(TRACEID); + const traceId = this.ns.get(CURRENT_TRACER); if (traceId) { return this.traceContainer[traceId]; } @@ -59,6 +58,14 @@ export class TraceManager { return this.traceContainer[traceId]; } + startLocal(name) { + + } + + endLocal(name) { + + } + create(options: { traceId?, ns? @@ -66,7 +73,7 @@ export class TraceManager { try { options.traceId = options.traceId || uuid(); const traceId = options.traceId; - this.ns.set(TRACEID, traceId); + this.ns.set(CURRENT_TRACER, traceId); options.ns = this.ns; const tracer = new Tracer(options); this.traceContainer[traceId] = tracer;