Skip to content

Commit ee918c0

Browse files
authored
Ashish: Add log functionality to tracer (#103)
1 parent f601099 commit ee918c0

File tree

4 files changed

+23
-24
lines changed

4 files changed

+23
-24
lines changed

__mocks__/zipkin.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ module.exports = {
100100
};
101101
}),
102102
recordAnnotation: jest.fn(),
103+
recordMessage: jest.fn(),
103104
recordBinary: jest.fn(),
104105
recordServiceName: jest.fn(),
105106
scoped: jest.fn(cb => process.nextTick(cb)),

src/__tests__/e2e.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -180,10 +180,7 @@ describe("zipkin-javascript-opentracing", () => {
180180

181181
it("should record logs", () => {
182182
const span = tracer.startSpan("My Span");
183-
span.log({
184-
statusCode: "200",
185-
objectId: "42"
186-
});
183+
span.log("LogMessage");
187184

188185
span.finish();
189186

@@ -208,13 +205,9 @@ describe("zipkin-javascript-opentracing", () => {
208205
"duration"
209206
])
210207
);
211-
expect(json[0].annotations.length).toBe(2);
208+
expect(json[0].annotations.length).toBe(3);
212209
expect(json[0].annotations[0].endpoint.serviceName).toBe("my service");
213-
expect(json[0].binaryAnnotations.length).toBe(2);
214-
expect(json[0].binaryAnnotations[0].key).toBe("statusCode");
215-
expect(json[0].binaryAnnotations[0].value).toBe("200");
216-
expect(json[0].binaryAnnotations[1].key).toBe("objectId");
217-
expect(json[0].binaryAnnotations[1].value).toBe("42");
210+
expect(json[0].annotations[0].value).toBe("LogMessage");
218211
expect(json[0].name).toBe("my span");
219212
});
220213
});

src/__tests__/index.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -256,17 +256,23 @@ describe("Opentracing interface", () => {
256256
});
257257

258258
it("should log data", () => {
259-
span.log({ event: "data_received", data: "42" });
259+
span.log("data to log");
260260

261261
// should do it in a scope
262262
expect(zipkinTracer.scoped).toHaveBeenCalled();
263263
zipkinTracer.scoped.mock.calls[0][0]();
264264

265-
expect(zipkinTracer.recordBinary).toHaveBeenCalledWith(
266-
"event",
267-
"data_received"
268-
);
269-
expect(zipkinTracer.recordBinary).toHaveBeenCalledWith("data", "42");
265+
expect(zipkinTracer.recordMessage).toHaveBeenCalledWith("data to log");
266+
});
267+
268+
it("should not log if empty data is passed", () => {
269+
span.log();
270+
271+
// should do it in a scope
272+
expect(zipkinTracer.scoped).toHaveBeenCalled();
273+
zipkinTracer.scoped.mock.calls[0][0]();
274+
275+
expect(zipkinTracer.recordMessage).not.toHaveBeenCalled();
270276
});
271277

272278
it("should use the right id in log", () => {
@@ -276,7 +282,7 @@ describe("Opentracing interface", () => {
276282

277283
zipkinTracer.scoped.mockReset();
278284
zipkinTracer.setId.mockReset();
279-
span.log({ event: "other event" });
285+
span.log("other event");
280286

281287
// should do it in a scope
282288
expect(zipkinTracer.scoped).toHaveBeenCalled();
@@ -285,7 +291,7 @@ describe("Opentracing interface", () => {
285291
zipkinTracer.scoped.mockReset();
286292
zipkinTracer.setId.mockReset();
287293

288-
otherSpan.log({ event: "yet another event" });
294+
otherSpan.log("yet another event");
289295
// should do it in a scope
290296
expect(zipkinTracer.scoped).toHaveBeenCalled();
291297
zipkinTracer.scoped.mock.calls[0][0]();

src/index.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,14 +125,13 @@ function SpanCreator({ tracer, serviceName, kind }) {
125125
}
126126
}
127127

128-
log(obj = {}) {
128+
log(obj) {
129129
tracer.scoped(() => {
130130
// make sure correct id is set
131-
tracer.setId(this.id);
132-
133-
Object.entries(obj).map(([key, value]) => {
134-
tracer.recordBinary(key, value);
135-
});
131+
if (obj) {
132+
tracer.setId(this.id);
133+
tracer.recordMessage(obj);
134+
}
136135
});
137136
}
138137
setTag(key, value) {

0 commit comments

Comments
 (0)