Skip to content

Commit be98183

Browse files
authored
Remove opencenus from nodejs sequelize (#153)
* Removed opencensus from package.json * Removed opencensus functionalities from nodejs squelize
1 parent 2290ef4 commit be98183

File tree

8 files changed

+4438
-1794
lines changed

8 files changed

+4438
-1794
lines changed

nodejs/sqlcommenter-nodejs/packages/sqlcommenter-sequelize/package-lock.json

Lines changed: 4401 additions & 1577 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nodejs/sqlcommenter-nodejs/packages/sqlcommenter-sequelize/package.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@
77
"test": "test"
88
},
99
"devDependencies": {
10-
"@opencensus/nodejs": "^0.0.22",
11-
"@opencensus/propagation-tracecontext": "^0.0.22",
1210
"@opentelemetry/api": "^1.0.3",
1311
"@opentelemetry/core": "^0.24.0",
1412
"@opentelemetry/node": "^0.24.0",
@@ -22,8 +20,6 @@
2220
"sinon-chai": "^3.5.0"
2321
},
2422
"peerDependencies": {
25-
"@opencensus/nodejs": "^0.0.22",
26-
"@opencensus/propagation-tracecontext": "^0.0.22",
2723
"@opentelemetry/core": "^0.24.0"
2824
},
2925
"engines": {
@@ -38,4 +34,4 @@
3834
},
3935
"author": "Google, LLC.",
4036
"license": "Apache-2.0"
41-
}
37+
}

nodejs/sqlcommenter-nodejs/packages/sqlcommenter-sequelize/provider/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,17 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
const OpenCensus = require('./opencensus');
1615
const OpenTelemetry = require('./opentelemetry');
1716

1817
const providers = {
1918
'opentelemetry': OpenTelemetry,
20-
'opencensus': OpenCensus,
2119
}
2220

2321
exports.attachComments = function attachComments(providerName, comments) {
2422
// Verify we have a comments object to modify
2523
if (!comments || typeof comments !== 'object') return;
2624

2725
// Lookup the provider by name, or use the default.
28-
let provider = providers[String(providerName).toLowerCase()] || OpenCensus;
26+
let provider = providers[String(providerName).toLowerCase()] || OpenTelemetry;
2927
provider.addW3CTraceContext(comments);
3028
}

nodejs/sqlcommenter-nodejs/packages/sqlcommenter-sequelize/provider/opencensus.js

Lines changed: 0 additions & 22 deletions
This file was deleted.

nodejs/sqlcommenter-nodejs/packages/sqlcommenter-sequelize/test/comment.test.js

Lines changed: 20 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,14 @@ let sequelize_version = require('sequelize').version;
1919
if (!sequelize_version)
2020
sequelize_version = require('sequelize/package').version;
2121

22-
const {wrapSequelize} = require('../index');
23-
const {fields} = require('../util');
22+
const { wrapSequelize } = require('../index');
2423
const chai = require("chai");
2524
const expect = chai.expect;
2625
const seq_version = require('sequelize').version;
27-
const opencensus_tracing = require('@opencensus/nodejs');
28-
const {context, trace} = require('@opentelemetry/api');
29-
const {NodeTracerProvider} = require('@opentelemetry/node');
30-
const {AsyncHooksContextManager} = require('@opentelemetry/context-async-hooks');
31-
const {InMemorySpanExporter, SimpleSpanProcessor} = require('@opentelemetry/tracing');
26+
const { context, trace } = require('@opentelemetry/api');
27+
const { NodeTracerProvider } = require('@opentelemetry/node');
28+
const { AsyncHooksContextManager } = require('@opentelemetry/context-async-hooks');
29+
const { InMemorySpanExporter, SimpleSpanProcessor } = require('@opentelemetry/tracing');
3230

3331
const createFakeSequelize = () => {
3432
return {
@@ -42,11 +40,11 @@ const createFakeSequelize = () => {
4240
config: {
4341
database: 'fake', client: 'fakesql',
4442
},
45-
options: {
46-
databaseVersion: 'fakesql-server:0.0.X',
47-
dialect: 'fakesql',
48-
timezone: '+00:00',
49-
},
43+
options: {
44+
databaseVersion: 'fakesql-server:0.0.X',
45+
dialect: 'fakesql',
46+
timezone: '+00:00',
47+
},
5048
},
5149
},
5250
},
@@ -59,17 +57,16 @@ describe("Comments for Sequelize", () => {
5957
const fakeSequelize = createFakeSequelize();
6058

6159
before(() => {
62-
wrapSequelize(fakeSequelize, {client_timezone:true, db_driver:true});
60+
wrapSequelize(fakeSequelize, { client_timezone: true, db_driver: true });
6361
});
6462

6563
after(() => {
66-
opencensus_tracing.stop();
6764
});
6865

6966
describe("Cases", () => {
7067

7168
it("should add comment to generated sql", (done) => {
72-
69+
7370
const want = `SELECT * FROM foo /*client_timezone='%2B00%3A00',db_driver='sequelize%3A${seq_version}'*/`;
7471
const query = 'SELECT * FROM foo';
7572

@@ -81,7 +78,7 @@ describe("Comments for Sequelize", () => {
8178
});
8279

8380
it("should NOT affix comments to statements with existing comments", (done) => {
84-
81+
8582
const q = [
8683
'SELECT * FROM people /* existing */',
8784
'SELECT * FROM people -- existing'
@@ -120,9 +117,9 @@ describe("Comments for Sequelize", () => {
120117
});
121118

122119
it("chaining and repeated calls should NOT indefinitely chain SQL", (done) => {
123-
120+
124121
const want = `SELECT * FROM foo /*client_timezone='%2B00%3A00',db_driver='sequelize%3A${seq_version}'*/`;
125-
122+
126123
const sql = 'SELECT * FROM foo';
127124

128125
fakeSequelize.dialect.Query.prototype.run(sql)
@@ -142,20 +139,19 @@ describe("Excluding all variables", () => {
142139
const fakeSequelize = createFakeSequelize();
143140

144141
before(() => {
145-
wrapSequelize(fakeSequelize, {non_existent: true});
142+
wrapSequelize(fakeSequelize, { non_existent: true });
146143
});
147144

148145
after(() => {
149-
opencensus_tracing.stop();
150146
});
151147

152148
it("when all variables are excluded, no comment should be generated", (done) => {
153149
// Allow a re-wrap.
154150
fakeSequelize.___alreadySQLCommenterWrapped___ = false;
155-
wrapSequelize(fakeSequelize, {foo:true});
151+
wrapSequelize(fakeSequelize, { foo: true });
156152

157153
const want = `SELECT * FROM foo`;
158-
const sql = `SELECT * FROM foo`;
154+
const sql = `SELECT * FROM foo`;
159155

160156
fakeSequelize.dialect.Query.prototype.run(sql).then((got) => {
161157
expect(got).equals(want);
@@ -164,41 +160,6 @@ describe("Excluding all variables", () => {
164160
});
165161
});
166162

167-
describe("With OpenCensus tracing", () => {
168-
169-
const fakeSequelize = createFakeSequelize();
170-
171-
before(() => {
172-
wrapSequelize(fakeSequelize, {traceparent: true, tracestate: true}, {TraceProvider: "OpenCensus"});
173-
});
174-
175-
after(() => {
176-
opencensus_tracing.stop();
177-
});
178-
179-
it('Starting an OpenCensus trace should produce `traceparent`', (done) => {
180-
// TODO: Follow-up with https://github.com/census-instrumentation/opencensus-node/issues/580
181-
// and get a proper guide or file bugs against the project to get the proper
182-
// way to retrieve spans. For now let's skip this test.
183-
// Remember: https://github.com/census-instrumentation/opencensus-node/issues/580
184-
185-
const traceOptions = {
186-
samplingRate: 1, // Always sample
187-
};
188-
const tracer = opencensus_tracing.start(traceOptions).tracer;
189-
190-
tracer.startRootSpan({ name: 'with-tracing' }, rootSpan => {
191-
const sql = 'SELECT * FROM foo';
192-
fakeSequelize.dialect.Query.prototype.run(sql).then((augmentedSQL) => {
193-
const wantSQL = `SELECT * FROM foo /*traceparent='00-${rootSpan.traceId}-${rootSpan.id}-01'*/`;
194-
expect(augmentedSQL).equals(wantSQL);
195-
opencensus_tracing.tracer.stop();
196-
done();
197-
});
198-
});
199-
});
200-
});
201-
202163
describe("With OpenTelemetry tracing", () => {
203164

204165
const fakeSequelize = createFakeSequelize();
@@ -215,7 +176,7 @@ describe("With OpenTelemetry tracing", () => {
215176
before(() => {
216177
contextManager = new AsyncHooksContextManager();
217178
context.setGlobalContextManager(contextManager.enable());
218-
wrapSequelize(fakeSequelize, {traceparent: true, tracestate: true}, {TraceProvider: "OpenTelemetry"});
179+
wrapSequelize(fakeSequelize, { traceparent: true, tracestate: true }, { TraceProvider: "OpenTelemetry" });
219180
});
220181

221182
after(() => {
@@ -226,7 +187,7 @@ describe("With OpenTelemetry tracing", () => {
226187
it('Starting an OpenTelemetry trace should produce `traceparent`', (done) => {
227188
const rootSpan = tracer.startSpan('rootSpan');
228189

229-
context.with(trace.setSpan(context.active(), rootSpan), async () => {
190+
context.with(trace.setSpan(context.active(), rootSpan), async () => {
230191
const sql = 'SELECT * FROM foo';
231192
let augmentedSQL = await fakeSequelize.dialect.Query.prototype.run(sql);
232193
const wantSQL = `SELECT * FROM foo /*traceparent='00-${rootSpan.spanContext().traceId}-${rootSpan.spanContext().spanId}-01'*/`;

nodejs/sqlcommenter-nodejs/packages/sqlcommenter-sequelize/test/unit/provider.js

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,17 @@ const rewiremock = require('../rewiremock');
2222
chai.use(sinonChai);
2323

2424
// Mock the trace provider implementations
25-
const openCensusMock = sinon.spy();
2625
const openTelemetryMock = sinon.spy();
2726

2827
// Mock the dependencies of provider to make use of faked methods for adding trace context
29-
rewiremock('../../provider/opencensus').with({addW3CTraceContext: openCensusMock});
30-
rewiremock('../../provider/opentelemetry').with({addW3CTraceContext: openTelemetryMock});
28+
rewiremock('../../provider/opentelemetry').with({ addW3CTraceContext: openTelemetryMock });
3129

3230
// Load the provider module with the appropriate mocks
3331
rewiremock.enable();
3432
const provider = require('../../provider');
3533

3634
// A helper method to test which provider was called
37-
const verifyProviderUsed = function(traceProvider, spy, used) {
35+
const verifyProviderUsed = function (traceProvider, spy, used) {
3836
provider.attachComments(traceProvider, {});
3937
expect(spy.called).to.equal(used);
4038
};
@@ -43,42 +41,26 @@ describe("Provider", () => {
4341
describe("attachComment", () => {
4442

4543
beforeEach(() => {
46-
openCensusMock.resetHistory();
4744
openTelemetryMock.resetHistory();
4845
})
4946

50-
it("should default to OpenCensus when no options are provided", () => {
51-
verifyProviderUsed(undefined, openCensusMock, true);
52-
verifyProviderUsed(undefined, openTelemetryMock, false);
47+
it("should default to OpenTelemetry when no options are provided", () => {
48+
verifyProviderUsed(undefined, openTelemetryMock, true);
5349
});
5450

55-
it("should default to OpenCensus when null is provided", () => {
56-
verifyProviderUsed(null, openCensusMock, true);
57-
verifyProviderUsed(null, openTelemetryMock, false);
51+
it("should default to OpenTelemetry when null is provided", () => {
52+
verifyProviderUsed(null, openTelemetryMock, true);
5853
});
5954

60-
it("should default to OpenCensus when invalid options are provided", () => {
61-
verifyProviderUsed("bad trace library name", openCensusMock, true);
62-
verifyProviderUsed("bad trace library name", openTelemetryMock, false);
63-
});
64-
65-
it("should use OpenCensus when the name is provided", () => {
66-
verifyProviderUsed("opencensus", openCensusMock, true);
67-
verifyProviderUsed("opencensus", openTelemetryMock, false);
68-
});
69-
70-
it("should accept an arbitrary capitalization of OpenCensus", () => {
71-
verifyProviderUsed("oPeNceNSus", openCensusMock, true);
72-
verifyProviderUsed("oPeNceNSus", openTelemetryMock, false);
55+
it("should default to OpenTelemetry when invalid options are provided", () => {
56+
verifyProviderUsed("bad trace library name", openTelemetryMock, true);
7357
});
7458

7559
it("should use OpenTelemetry when the name is provided", () => {
76-
verifyProviderUsed("opentelemetry", openCensusMock, false);
7760
verifyProviderUsed("opentelemetry", openTelemetryMock, true);
7861
});
7962

8063
it("should accept an arbitrary capitalization of OpenTelemetry", () => {
81-
verifyProviderUsed("OpenTeleMetRY", openCensusMock, false);
8264
verifyProviderUsed("OpenTeleMetRY", openTelemetryMock, true);
8365
});
8466

0 commit comments

Comments
 (0)