Skip to content

Commit fd14ad1

Browse files
authored
Merge pull request #151 from dockersamples/finish-analytics-work
Finalize analytic events
2 parents cfec4f2 + 8871b4c commit fd14ad1

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

components/interface/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ COPY --from=client-build /usr/local/app/dist ./public
4242

4343
# This is pointing to stage until we validate the analytics.
4444
# The key is known to be a publicly viewable key.
45-
ENV MARLIN_ENDPOINT=https://api-stage.docker.com/events/v1/track
46-
ENV MARLIN_API_KEY=2vZTBp5lAS2lYocaHlWuW4c2GL3ydGhudkBZwqth
45+
ENV MARLIN_ENDPOINT=https://api.docker.com/events/v1/track
46+
ENV MARLIN_API_KEY=SI7YliKTll5lLPOqPxtJZ49oZ7LgVcqG5sv11bkt
4747

4848
EXPOSE 3000
4949
USER 1000

components/interface/api/src/services/analytics.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,15 @@ export class AnalyticsPublisher {
1414
this.hubUserId = labspaceMetadata.uuids.hub;
1515
this.ddUserId = labspaceMetadata.uuids.dd;
1616
this.infraVersion = labspaceMetadata.infra_version;
17+
this.sourceRepo = labspaceMetadata.source_repo;
1718
this.contentVersion = labspaceMetadata.content_version;
1819

1920
this.queuedEvents = [];
2021
this.startTimestamp = Date.now();
2122
this.previousSectionId = null;
2223
this.sectionsVisited = new Set();
24+
25+
console.log(`AnalyticsPublisher initialized. ${this.optIn ? "Analytics enabled" : "Analytics disabled"}`);
2326
}
2427

2528
publishStartEvent() {
@@ -71,13 +74,14 @@ export class AnalyticsPublisher {
7174
const enhancedEvent = {
7275
event,
7376
source: "labspace",
77+
event_timestamp: Date.now(),
7478
properties: {
7579
...eventProperties,
7680
labspace_id: this.labspaceId,
81+
labspace_source_repo: this.sourceRepo,
7782
labspace_content_version: this.contentVersion,
7883
labspace_mode: this.labspaceMode,
7984
labspace_infra_version: this.infraVersion,
80-
timestamp: Date.now(),
8185
},
8286
};
8387

@@ -99,6 +103,11 @@ export class AnalyticsPublisher {
99103
body: JSON.stringify({
100104
records: [ enhancedEvent ]
101105
}),
106+
}).then(async (res) => {
107+
if (!res.ok) {
108+
const text = await res.text();
109+
throw new Error(`Non-200 response from analytics endpoint: ${res.status} - ${text}`);
110+
}
102111
}).catch((err) => {
103112
console.error("Failed to send analytics event:", err);
104113
});

0 commit comments

Comments
 (0)