ponder 0.17.2 → 0.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/esm/indexing/index.js +2 -2
  3. package/dist/esm/indexing/index.js.map +1 -1
  4. package/dist/esm/indexing-store/cache.js +6 -21
  5. package/dist/esm/indexing-store/cache.js.map +1 -1
  6. package/dist/esm/indexing-store/index.js +35 -39
  7. package/dist/esm/indexing-store/index.js.map +1 -1
  8. package/dist/esm/indexing-store/utils.js +21 -1
  9. package/dist/esm/indexing-store/utils.js.map +1 -1
  10. package/dist/esm/internal/metrics.js +68 -0
  11. package/dist/esm/internal/metrics.js.map +1 -1
  12. package/dist/esm/runtime/isolated.js +1 -0
  13. package/dist/esm/runtime/isolated.js.map +1 -1
  14. package/dist/esm/runtime/multichain.js +1 -0
  15. package/dist/esm/runtime/multichain.js.map +1 -1
  16. package/dist/esm/runtime/omnichain.js +1 -0
  17. package/dist/esm/runtime/omnichain.js.map +1 -1
  18. package/dist/esm/sync-realtime/index.js +1 -1
  19. package/dist/esm/sync-realtime/index.js.map +1 -1
  20. package/dist/esm/utils/copy.js +69 -58
  21. package/dist/esm/utils/copy.js.map +1 -1
  22. package/dist/types/indexing/index.d.ts.map +1 -1
  23. package/dist/types/indexing-store/cache.d.ts.map +1 -1
  24. package/dist/types/indexing-store/index.d.ts.map +1 -1
  25. package/dist/types/indexing-store/utils.d.ts +5 -0
  26. package/dist/types/indexing-store/utils.d.ts.map +1 -1
  27. package/dist/types/internal/metrics.d.ts +13 -0
  28. package/dist/types/internal/metrics.d.ts.map +1 -1
  29. package/dist/types/runtime/isolated.d.ts.map +1 -1
  30. package/dist/types/runtime/multichain.d.ts.map +1 -1
  31. package/dist/types/runtime/omnichain.d.ts.map +1 -1
  32. package/dist/types/utils/copy.d.ts +1 -1
  33. package/dist/types/utils/copy.d.ts.map +1 -1
  34. package/package.json +2 -2
  35. package/src/indexing/index.ts +4 -6
  36. package/src/indexing-store/cache.ts +20 -22
  37. package/src/indexing-store/index.ts +76 -38
  38. package/src/indexing-store/utils.ts +29 -1
  39. package/src/internal/metrics.ts +81 -0
  40. package/src/runtime/isolated.ts +1 -0
  41. package/src/runtime/multichain.ts +1 -0
  42. package/src/runtime/omnichain.ts +1 -0
  43. package/src/sync-realtime/index.ts +1 -1
  44. package/src/utils/copy.ts +76 -62
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # ponder
2
2
 
3
+ ## 0.17.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#2353](https://github.com/ponder-sh/ponder/pull/2353) [`a0a91c3`](https://github.com/ponder-sh/ponder/commit/a0a91c33039ec4d29173af22f59394cfc2c346c2) Thanks [@kyscott18](https://github.com/kyscott18)! - Improved indexing performance by batching internal metrics updates.
8
+
9
+ - [#2356](https://github.com/ponder-sh/ponder/pull/2356) [`13d34ee`](https://github.com/ponder-sh/ponder/commit/13d34ee70f45117636a4dfa7e7a74e3a7d195462) Thanks [@kyscott18](https://github.com/kyscott18)! - Improved indexing performance by using schema-aware copying.
10
+
11
+ - [#2355](https://github.com/ponder-sh/ponder/pull/2355) [`d34cf7e`](https://github.com/ponder-sh/ponder/commit/d34cf7e56579001ec1a814a974444a11f18adb1b) Thanks [@kyscott18](https://github.com/kyscott18)! - Improved indexing performance by normalizing only changed row fields during updates.
12
+
13
+ - [#2352](https://github.com/ponder-sh/ponder/pull/2352) [`0183ecc`](https://github.com/ponder-sh/ponder/commit/0183eccf50e72be5ad5a321a0ad436649d5fbb50) Thanks [@kyscott18](https://github.com/kyscott18)! - Improved indexing performance by reducing copy-on-write row memory usage.
14
+
15
+ ## 0.17.3
16
+
17
+ ### Patch Changes
18
+
19
+ - [#2350](https://github.com/ponder-sh/ponder/pull/2350) [`80dd936`](https://github.com/ponder-sh/ponder/commit/80dd936636c65ed199202ae2dd3e2bc81c33e252) Thanks [@kyscott18](https://github.com/kyscott18)! - Fixed a bug that caused realtime sync to retain unfiltered block transactions in memory until finalization. Memory usage for live indexing improved >10%.
20
+
3
21
  ## 0.17.2
4
22
 
5
23
  ### Patch Changes
@@ -316,7 +316,7 @@ export const createIndexing = ({ common, indexingBuild: { eventCallbacks, setupC
316
316
  }
317
317
  // @ts-expect-error
318
318
  await executeEvent({ ...event, event: proxyEvent });
319
- common.metrics.ponder_indexing_completed_events.inc({ event: event.eventCallback.name }, 1);
319
+ common.metrics.incrementIndexingCompletedEvents(event.eventCallback.name);
320
320
  columnAccessPattern.get(event.eventCallback.name).count++;
321
321
  eventCount[event.eventCallback.name] =
322
322
  eventCount[event.eventCallback.name] + 1;
@@ -444,7 +444,7 @@ export const createIndexing = ({ common, indexingBuild: { eventCallbacks, setupC
444
444
  const event = events[i];
445
445
  client.event = event;
446
446
  await executeEvent(event);
447
- common.metrics.ponder_indexing_completed_events.inc({ event: event.eventCallback.name }, 1);
447
+ common.metrics.incrementIndexingCompletedEvents(event.eventCallback.name);
448
448
  eventCount[event.eventCallback.name] =
449
449
  eventCount[event.eventCallback.name] + 1;
450
450
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/indexing/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/indexing/index.ts"],"names":[],"mappings":"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"}
@@ -220,10 +220,7 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
220
220
  // are prioritized over insert entries
221
221
  const bufferEntry = updateBuffer.get(table).get(ck) ?? insertBuffer.get(table).get(ck);
222
222
  if (bufferEntry) {
223
- common.metrics.ponder_indexing_cache_requests_total.inc({
224
- table: getTableName(table),
225
- type: cache.get(table).isCacheComplete ? "complete" : "hit",
226
- });
223
+ common.metrics.incrementIndexingCacheRequests(getTableName(table), cache.get(table).isCacheComplete ? "complete" : "hit");
227
224
  return bufferEntry.row;
228
225
  }
229
226
  const entry = cache.get(table).cache.get(ck);
@@ -232,25 +229,16 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
232
229
  cache.get(table).isCacheComplete === false) {
233
230
  cache.get(table).spillover.add(ck);
234
231
  }
235
- common.metrics.ponder_indexing_cache_requests_total.inc({
236
- table: getTableName(table),
237
- type: cache.get(table).isCacheComplete ? "complete" : "hit",
238
- });
232
+ common.metrics.incrementIndexingCacheRequests(getTableName(table), cache.get(table).isCacheComplete ? "complete" : "hit");
239
233
  return entry;
240
234
  }
241
235
  cache.get(table).diskReads++;
242
236
  if (cache.get(table).isCacheComplete) {
243
- common.metrics.ponder_indexing_cache_requests_total.inc({
244
- table: getTableName(table),
245
- type: "complete",
246
- });
237
+ common.metrics.incrementIndexingCacheRequests(getTableName(table), "complete");
247
238
  return null;
248
239
  }
249
240
  cache.get(table).spillover.add(ck);
250
- common.metrics.ponder_indexing_cache_requests_total.inc({
251
- table: getTableName(table),
252
- type: "miss",
253
- });
241
+ common.metrics.incrementIndexingCacheRequests(getTableName(table), "miss");
254
242
  const endClock = startClock();
255
243
  const result = await qb
256
244
  .wrap((db) => db.select().from(table).where(getWhereCondition(table, key)))
@@ -268,7 +256,7 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
268
256
  return result;
269
257
  },
270
258
  set({ table, key, row: _row, isUpdate }) {
271
- const row = normalizeRow(table, _row, isUpdate);
259
+ const row = isUpdate ? _row : normalizeRow(table, _row, false);
272
260
  const ck = getCacheKey(table, key, primaryKeyCache);
273
261
  if (isUpdate) {
274
262
  updateBuffer.get(table).set(ck, { row, metadata: { event } });
@@ -596,10 +584,7 @@ export const createIndexingCache = ({ common, schemaBuild: { schema }, crashReco
596
584
  cache.get(table).prefetched.clear();
597
585
  }
598
586
  for (const [table, tablePredictions] of prediction) {
599
- common.metrics.ponder_indexing_cache_requests_total.inc({
600
- table: getTableName(table),
601
- type: "prefetch",
602
- }, tablePredictions.size);
587
+ common.metrics.incrementIndexingCacheRequests(getTableName(table), "prefetch", tablePredictions.size);
603
588
  }
604
589
  await Promise.all(Array.from(prediction.entries())
605
590
  .filter(([, tablePredictions]) => tablePredictions.size > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/indexing-store/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/indexing-store/cache.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getTableName, getViewName, isTable, isView, } from "drizzle-orm";
1
+ import { getTableColumns, getTableName, getViewName, isTable, isView, } from "drizzle-orm";
2
2
  import { getTableConfig } from "drizzle-orm/pg-core";
3
3
  import { drizzle } from "drizzle-orm/pg-proxy";
4
4
  import { onchain } from '../drizzle/onchain.js';
@@ -8,7 +8,7 @@ import { createLock } from '../utils/mutex.js';
8
8
  import { prettyPrint } from '../utils/print.js';
9
9
  import { getSQLQueryRelations, isReadonlySQLQuery } from '../utils/sql-parse.js';
10
10
  import { startClock } from '../utils/timer.js';
11
- import { getPrimaryKeyCache } from "./utils.js";
11
+ import { getPrimaryKeyCache, normalizeUpdateSet } from "./utils.js";
12
12
  export const validateUpdateSet = (table, set, prev, cache) => {
13
13
  const primaryKeys = cache.get(table);
14
14
  for (let i = 0; i < primaryKeys.length; i++) {
@@ -46,6 +46,10 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
46
46
  const tables = Object.values(schema).filter(isTable);
47
47
  const views = Object.values(schema).filter(isView);
48
48
  const primaryKeyCache = getPrimaryKeyCache(tables);
49
+ const isCopyFast = new Map(tables.map((table) => [
50
+ table,
51
+ Object.values(getTableColumns(table)).every((column) => ["string", "number", "boolean", "bigint"].includes(column.dataType)),
52
+ ]));
49
53
  const lock = createLock();
50
54
  const storeMethodWrapper = (fn) => {
51
55
  return async (...args) => {
@@ -80,10 +84,7 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
80
84
  return {
81
85
  db: {
82
86
  find: storeMethodWrapper(async (table, key) => {
83
- common.metrics.ponder_indexing_store_queries_total.inc({
84
- table: getTableName(table),
85
- method: "find",
86
- });
87
+ common.metrics.incrementIndexingStoreQueries(getTableName(table), "find");
87
88
  checkOnchainTable(table, "find");
88
89
  checkTableAccess(table, "find", key, chainId);
89
90
  const ponderRow = await indexingCache.get({ table, key });
@@ -96,12 +97,11 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
96
97
  values: (userValues) => {
97
98
  const inner = {
98
99
  onConflictDoNothing: storeMethodWrapper(async () => {
99
- common.metrics.ponder_indexing_store_queries_total.inc({
100
- table: getTableName(table),
101
- method: "insert",
102
- });
100
+ common.metrics.incrementIndexingStoreQueries(getTableName(table), "insert");
103
101
  checkOnchainTable(table, "insert");
104
- const ponderValues = copy(userValues);
102
+ const ponderValues = Array.isArray(userValues)
103
+ ? userValues.map((value) => copy(value, isCopyFast.get(table)))
104
+ : copy(userValues, isCopyFast.get(table));
105
105
  if (Array.isArray(ponderValues)) {
106
106
  const ponderRows = [];
107
107
  for (const value of ponderValues) {
@@ -142,10 +142,7 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
142
142
  }
143
143
  }),
144
144
  onConflictDoUpdate: storeMethodWrapper(async (userUpdateValues) => {
145
- common.metrics.ponder_indexing_store_queries_total.inc({
146
- table: getTableName(table),
147
- method: "insert",
148
- });
145
+ common.metrics.incrementIndexingStoreQueries(getTableName(table), "insert");
149
146
  checkOnchainTable(table, "insert");
150
147
  if (Array.isArray(userValues)) {
151
148
  const ponderRows = [];
@@ -156,12 +153,13 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
156
153
  key: value,
157
154
  });
158
155
  if (ponderRowUpdate) {
159
- ponderRowUpdate = copy(ponderRowUpdate);
156
+ ponderRowUpdate = copy(ponderRowUpdate, isCopyFast.get(table));
160
157
  if (typeof userUpdateValues === "function") {
161
158
  const userRowUpdate = copyOnWrite(ponderRowUpdate);
162
159
  const userSet = userUpdateValues(userRowUpdate);
163
- const ponderSet = copy(userSet);
160
+ const ponderSet = copy(userSet, isCopyFast.get(table));
164
161
  validateUpdateSet(table, ponderSet, ponderRowUpdate, primaryKeyCache);
162
+ normalizeUpdateSet(table, ponderSet);
165
163
  for (const [key, value] of Object.entries(ponderSet)) {
166
164
  if (value === undefined)
167
165
  continue;
@@ -170,8 +168,9 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
170
168
  }
171
169
  else {
172
170
  const userSet = userUpdateValues;
173
- const ponderSet = copy(userSet);
171
+ const ponderSet = copy(userSet, isCopyFast.get(table));
174
172
  validateUpdateSet(table, ponderSet, ponderRowUpdate, primaryKeyCache);
173
+ normalizeUpdateSet(table, ponderSet);
175
174
  for (const [key, value] of Object.entries(ponderSet)) {
176
175
  if (value === undefined)
177
176
  continue;
@@ -186,7 +185,7 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
186
185
  }));
187
186
  }
188
187
  else {
189
- const ponderValue = copy(value);
188
+ const ponderValue = copy(value, isCopyFast.get(table));
190
189
  ponderRows.push(indexingCache.set({
191
190
  table,
192
191
  key: ponderValue,
@@ -205,12 +204,13 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
205
204
  key: userValues,
206
205
  });
207
206
  if (ponderRowUpdate) {
208
- ponderRowUpdate = copy(ponderRowUpdate);
207
+ ponderRowUpdate = copy(ponderRowUpdate, isCopyFast.get(table));
209
208
  if (typeof userUpdateValues === "function") {
210
209
  const userRowUpdate = copyOnWrite(ponderRowUpdate);
211
210
  const userSet = userUpdateValues(userRowUpdate);
212
- const ponderSet = copy(userSet);
211
+ const ponderSet = copy(userSet, isCopyFast.get(table));
213
212
  validateUpdateSet(table, ponderSet, ponderRowUpdate, primaryKeyCache);
213
+ normalizeUpdateSet(table, ponderSet);
214
214
  for (const [key, value] of Object.entries(ponderSet)) {
215
215
  if (value === undefined)
216
216
  continue;
@@ -219,8 +219,9 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
219
219
  }
220
220
  else {
221
221
  const userSet = userUpdateValues;
222
- const ponderSet = copy(userSet);
222
+ const ponderSet = copy(userSet, isCopyFast.get(table));
223
223
  validateUpdateSet(table, ponderSet, ponderRowUpdate, primaryKeyCache);
224
+ normalizeUpdateSet(table, ponderSet);
224
225
  for (const [key, value] of Object.entries(ponderSet)) {
225
226
  if (value === undefined)
226
227
  continue;
@@ -236,7 +237,7 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
236
237
  const userRow = copyOnWrite(ponderRow);
237
238
  return userRow;
238
239
  }
239
- const ponderValues = copy(userValues);
240
+ const ponderValues = copy(userValues, isCopyFast.get(table));
240
241
  const ponderRowInsert = indexingCache.set({
241
242
  table,
242
243
  key: ponderValues,
@@ -249,12 +250,11 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
249
250
  }),
250
251
  // biome-ignore lint/suspicious/noThenProperty: The returned object is intentionally thenable for the query API.
251
252
  then: (onFulfilled, onRejected) => storeMethodWrapper(async () => {
252
- common.metrics.ponder_indexing_store_queries_total.inc({
253
- table: getTableName(table),
254
- method: "insert",
255
- });
253
+ common.metrics.incrementIndexingStoreQueries(getTableName(table), "insert");
256
254
  checkOnchainTable(table, "insert");
257
- const ponderValues = copy(userValues);
255
+ const ponderValues = Array.isArray(userValues)
256
+ ? userValues.map((value) => copy(value, isCopyFast.get(table)))
257
+ : copy(userValues, isCopyFast.get(table));
258
258
  if (Array.isArray(ponderValues)) {
259
259
  const ponderRows = [];
260
260
  for (const value of ponderValues) {
@@ -342,10 +342,7 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
342
342
  update(table, key) {
343
343
  return {
344
344
  set: storeMethodWrapper(async (userValues) => {
345
- common.metrics.ponder_indexing_store_queries_total.inc({
346
- table: getTableName(table),
347
- method: "update",
348
- });
345
+ common.metrics.incrementIndexingStoreQueries(getTableName(table), "update");
349
346
  checkOnchainTable(table, "update");
350
347
  checkTableAccess(table, "update", key, chainId);
351
348
  let ponderRowUpdate = await indexingCache.get({ table, key });
@@ -354,12 +351,13 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
354
351
  error.meta.push(`db.update arguments:\n${prettyPrint(key, { truncate: false })}`);
355
352
  throw error;
356
353
  }
357
- ponderRowUpdate = copy(ponderRowUpdate);
354
+ ponderRowUpdate = copy(ponderRowUpdate, isCopyFast.get(table));
358
355
  if (typeof userValues === "function") {
359
356
  const userRow = copyOnWrite(ponderRowUpdate);
360
357
  const userSet = userValues(userRow);
361
- const ponderSet = copy(userSet);
358
+ const ponderSet = copy(userSet, isCopyFast.get(table));
362
359
  validateUpdateSet(table, ponderSet, ponderRowUpdate, primaryKeyCache);
360
+ normalizeUpdateSet(table, ponderSet);
363
361
  for (const [key, value] of Object.entries(ponderSet)) {
364
362
  if (value === undefined)
365
363
  continue;
@@ -368,8 +366,9 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
368
366
  }
369
367
  else {
370
368
  const userSet = userValues;
371
- const ponderSet = copy(userSet);
369
+ const ponderSet = copy(userSet, isCopyFast.get(table));
372
370
  validateUpdateSet(table, ponderSet, ponderRowUpdate, primaryKeyCache);
371
+ normalizeUpdateSet(table, ponderSet);
373
372
  for (const [key, value] of Object.entries(ponderSet)) {
374
373
  if (value === undefined)
375
374
  continue;
@@ -388,10 +387,7 @@ export const createIndexingStore = ({ common, schemaBuild: { schema }, indexingC
388
387
  };
389
388
  },
390
389
  delete: storeMethodWrapper(async (table, key) => {
391
- common.metrics.ponder_indexing_store_queries_total.inc({
392
- table: getTableName(table),
393
- method: "delete",
394
- });
390
+ common.metrics.incrementIndexingStoreQueries(getTableName(table), "delete");
395
391
  checkOnchainTable(table, "delete");
396
392
  checkTableAccess(table, "delete", key, chainId);
397
393
  return indexingCache.delete({ table, key });