Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit 9bdb21f

Browse files
committed
Buffer refactoring
1 parent bb26d68 commit 9bdb21f

1 file changed

Lines changed: 23 additions & 10 deletions

File tree

  • packages/opencensus-core/src/trace/model

packages/opencensus-core/src/trace/model/tracer.ts

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ import { Span } from './span'
2020
import { debug } from '../../internal/util'
2121
import { Stackdriver } from '../../exporters/stackdriver/stackdriver'
2222
import { StackdriverOptions } from '../../exporters/stackdriver/options'
23+
import { Exporter } from '../../exporters/exporter'
2324
import { TraceContext, OnEndSpanEventListener } from '../types/tracetypes';
2425
import { TracerConfig, defaultConfig } from '../tracing';
26+
import { Buffer } from '../../exporters/buffer'
2527

2628
export type Func<T> = (...args: any[]) => T;
2729

@@ -30,12 +32,13 @@ export class Tracer implements OnEndSpanEventListener {
3032

3133
readonly PLUGINS = ['http', 'https', 'mongodb-core', 'express'];
3234

35+
//public buffer: Buffer;
3336
private _active: boolean;
3437
private contextManager: cls.Namespace;
3538
private config: TracerConfig;
3639

3740
//TODO: simple solution - to be rewied in future
38-
private eventListeners: OnEndSpanEventListener[] = [];
41+
private eventListeners: OnEndSpanEventListener[] = [];
3942
//TODO: temp solution
4043
private endedTraces: RootSpan[] = [];
4144

@@ -58,6 +61,10 @@ export class Tracer implements OnEndSpanEventListener {
5861
return this;
5962
}
6063

64+
public getEventListeners(): OnEndSpanEventListener[] {
65+
return this.eventListeners;
66+
}
67+
6168
public stop() {
6269
this._active = false;
6370
}
@@ -74,34 +81,40 @@ export class Tracer implements OnEndSpanEventListener {
7481
}
7582

7683

77-
public onEndSpan(root:RootSpan): void {
84+
public onEndSpan(root: RootSpan): void {
7885
if (!this.currentRootSpan) {
7986
return debug('cannot end trace - no active trace found')
8087
}
81-
if(this.currentRootSpan != root) {
82-
return debug('currentRootSpan != root on notifyEnd. Possbile implementation bug.')
88+
if (this.currentRootSpan != root) {
89+
return debug('currentRootSpan != root on notifyEnd. Possbile implementation bug.')
8390
}
8491
this.notifyEndSpan(this.currentRootSpan);
8592
//this.clearCurrentTrace();
8693
}
8794

8895
//TODO: review
8996
public runInContex<T>(fn: Func<T>): T {
90-
return this.contextManager.runAndReturn (fn)
97+
return this.contextManager.runAndReturn(fn)
9198
}
92-
93-
public registerEndSpanListener(listner: OnEndSpanEventListener) {
9499

95-
this.eventListeners.push(listner);
100+
public registerEndSpanListener(listener: OnEndSpanEventListener) {
101+
this.eventListeners.push(listener);
102+
//this.buffer.registerExporter(exporter)
96103
}
104+
105+
/*public registerExporter(exporter: Exporter) {
106+
//this.eventListeners.push(listner);
107+
this.buffer.registerExporter(exporter)
108+
}*/
97109

98110
private notifyEndSpan(root: RootSpan) {
99111
if (this.active) {
100-
if(this.eventListeners&&this.eventListeners.length >0) {
112+
//this.buffer.onEndSpan(root);
113+
if (this.eventListeners && this.eventListeners.length > 0) {
101114
this.eventListeners.forEach((listener) => listener.onEndSpan(root))
102115
}
103116
} else {
104-
debug ('this tracer is inactivate cant notify endspan')
117+
debug('this tracer is inactivate cant notify endspan')
105118
}
106119
}
107120

0 commit comments

Comments
 (0)