Skip to content

Commit 383de2b

Browse files
authored
fix(gatsby): Proper cache status event (#32962)
* Cache Status definitive cli method * add test
1 parent ed8301e commit 383de2b

File tree

2 files changed

+29
-15
lines changed

2 files changed

+29
-15
lines changed

packages/gatsby/src/redux/__tests__/index.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
const _ = require(`lodash`)
22
const path = require(`path`)
33
const v8 = require(`v8`)
4+
const telemetry = require(`gatsby-telemetry`)
45
const reporter = require(`gatsby-cli/lib/reporter`)
5-
66
const writeToCache = jest.spyOn(require(`../persist`), `writeToCache`)
77
const v8Serialize = jest.spyOn(v8, `serialize`)
88
const v8Deserialize = jest.spyOn(v8, `deserialize`)
@@ -150,6 +150,26 @@ describe(`redux db`, () => {
150150
reporterInfo.mockClear()
151151
})
152152

153+
it(`should have cache status telemetry event`, async () => {
154+
jest.spyOn(telemetry, `trackCli`)
155+
156+
readState()
157+
158+
expect(telemetry.trackCli).toHaveBeenCalledWith(`CACHE_STATUS`, {
159+
cacheStatus: `COLD`,
160+
})
161+
162+
store.getState().nodes = getFakeNodes()
163+
164+
await saveState()
165+
166+
readState()
167+
168+
expect(telemetry.trackCli).toHaveBeenCalledWith(`CACHE_STATUS`, {
169+
cacheStatus: `WARM`,
170+
})
171+
})
172+
153173
it(`should write redux cache to disk`, async () => {
154174
createPages(defaultPage)
155175

packages/gatsby/src/redux/index.ts

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,25 +41,19 @@ export const readState = (): IGatsbyState => {
4141
// changes. Explicitly delete it here to cover case where user
4242
// runs gatsby the first time after upgrading.
4343
delete state[`jsonDataPaths`]
44-
telemetry.decorateEvent(`BUILD_END`, {
45-
cacheStatus: `WARM`,
46-
})
47-
telemetry.decorateEvent(`DEVELOP_STOP`, {
44+
45+
telemetry.trackCli(`CACHE_STATUS`, {
4846
cacheStatus: `WARM`,
4947
})
48+
5049
return state
5150
} catch (e) {
52-
// ignore errors.
51+
telemetry.trackCli(`CACHE_STATUS`, {
52+
cacheStatus: `COLD`,
53+
})
54+
55+
return {} as IGatsbyState
5356
}
54-
// BUG: Would this not cause downstream bugs? seems likely. Why wouldn't we just
55-
// throw and kill the program?
56-
telemetry.decorateEvent(`BUILD_END`, {
57-
cacheStatus: `COLD`,
58-
})
59-
telemetry.decorateEvent(`DEVELOP_STOP`, {
60-
cacheStatus: `COLD`,
61-
})
62-
return {} as IGatsbyState
6357
}
6458

6559
export interface IMultiDispatch {

0 commit comments

Comments
 (0)