Put error logging behind new secret flag
This commit is contained in:
@@ -196,7 +196,12 @@ export class TelemetryListener extends ConfigListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!newTelemetryEnabled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const properties: { [key: string]: string } = {
|
const properties: { [key: string]: string } = {
|
||||||
|
isCanary: isCanary().toString(),
|
||||||
message: error.redactedMessage,
|
message: error.redactedMessage,
|
||||||
...extraProperties,
|
...extraProperties,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import { UserCancellationException } from "../../../src/commandRunner";
|
|||||||
import { ENABLE_TELEMETRY } from "../../../src/config";
|
import { ENABLE_TELEMETRY } from "../../../src/config";
|
||||||
import * as Config from "../../../src/config";
|
import * as Config from "../../../src/config";
|
||||||
import { createMockExtensionContext } from "./index";
|
import { createMockExtensionContext } from "./index";
|
||||||
|
import { redactableError } from "../../../src/pure/errors";
|
||||||
|
|
||||||
// setting preferences can trigger lots of background activity
|
// setting preferences can trigger lots of background activity
|
||||||
// so need to bump up the timeout of this test.
|
// so need to bump up the timeout of this test.
|
||||||
@@ -390,13 +391,21 @@ describe("telemetry reporting", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("when new telementry is not enabled", () => {
|
describe("when new telementry is not enabled", () => {
|
||||||
it("should not send a telementry event", async () => {
|
it("should not send a ui-interaction telementry event", async () => {
|
||||||
await telemetryListener.initialize();
|
await telemetryListener.initialize();
|
||||||
|
|
||||||
telemetryListener.sendUIInteraction("test");
|
telemetryListener.sendUIInteraction("test");
|
||||||
|
|
||||||
expect(sendTelemetryEventSpy).not.toBeCalled();
|
expect(sendTelemetryEventSpy).not.toBeCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should not send an error telementry event", async () => {
|
||||||
|
await telemetryListener.initialize();
|
||||||
|
|
||||||
|
telemetryListener.sendError(redactableError`test`);
|
||||||
|
|
||||||
|
expect(sendTelemetryEventSpy).not.toBeCalled();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("when new telementry is enabled", () => {
|
describe("when new telementry is enabled", () => {
|
||||||
@@ -404,7 +413,7 @@ describe("telemetry reporting", () => {
|
|||||||
jest.spyOn(Config, "newTelemetryEnabled").mockReturnValue(true);
|
jest.spyOn(Config, "newTelemetryEnabled").mockReturnValue(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should not send a telementry event", async () => {
|
it("should send a ui-interaction telementry event", async () => {
|
||||||
await telemetryListener.initialize();
|
await telemetryListener.initialize();
|
||||||
|
|
||||||
telemetryListener.sendUIInteraction("test");
|
telemetryListener.sendUIInteraction("test");
|
||||||
@@ -418,6 +427,22 @@ describe("telemetry reporting", () => {
|
|||||||
{},
|
{},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should send an error telementry event", async () => {
|
||||||
|
await telemetryListener.initialize();
|
||||||
|
|
||||||
|
telemetryListener.sendError(redactableError`test`);
|
||||||
|
|
||||||
|
expect(sendTelemetryEventSpy).toHaveBeenCalledWith(
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
message: "test",
|
||||||
|
isCanary,
|
||||||
|
stack: expect.any(String),
|
||||||
|
},
|
||||||
|
{},
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
async function enableTelemetry(section: string, value: boolean | undefined) {
|
async function enableTelemetry(section: string, value: boolean | undefined) {
|
||||||
|
|||||||
Reference in New Issue
Block a user