feat: add copilot metrics (#8455)

fix CLOUD-73
This commit is contained in:
darkskygit
2024-10-18 03:30:02 +00:00
parent 4122cec096
commit fa554b1054
14 changed files with 198 additions and 112 deletions

View File

@@ -3,7 +3,7 @@ import { Cron, CronExpression, SchedulerRegistry } from '@nestjs/schedule';
import { PrismaClient } from '@prisma/client';
import {
CallTimer,
CallMetric,
Config,
type EventPayload,
metrics,
@@ -47,7 +47,7 @@ export class DocStorageCronJob implements OnModuleInit {
}
}
@CallTimer('doc', 'auto_merge_pending_doc_updates')
@CallMetric('doc', 'auto_merge_pending_doc_updates')
async autoMergePendingDocUpdates() {
try {
const randomDoc = await this.workspace.randomDoc();

View File

@@ -3,7 +3,7 @@ import { chunk } from 'lodash-es';
import * as Y from 'yjs';
import {
CallTimer,
CallMetric,
Config,
mergeUpdatesInApplyWay as yotcoMergeUpdates,
metrics,
@@ -89,12 +89,12 @@ export class DocStorageOptions implements IDocStorageOptions {
return this.config.doc.history.interval;
};
@CallTimer('doc', 'yjs_merge_updates')
@CallMetric('doc', 'yjs_merge_updates')
private simpleMergeUpdates(updates: Uint8Array[]) {
return Y.mergeUpdates(updates);
}
@CallTimer('doc', 'yjs_recover_updates_to_doc')
@CallMetric('doc', 'yjs_recover_updates_to_doc')
private recoverDoc(updates: Uint8Array[]): Promise<Y.Doc> {
const doc = new Y.Doc();
const chunks = chunk(updates, 10);

View File

@@ -7,7 +7,7 @@ import {
UndoManager,
} from 'yjs';
import { CallTimer } from '../../../fundamentals';
import { CallMetric } from '../../../fundamentals';
import { Connection } from './connection';
import { SingletonLocker } from './lock';
@@ -165,7 +165,7 @@ export abstract class DocStorageAdapter extends Connection {
force?: boolean
): Promise<boolean>;
@CallTimer('doc', 'squash')
@CallMetric('doc', 'squash')
protected async squash(updates: DocUpdate[]): Promise<DocUpdate> {
const merge = this.options?.mergeUpdates ?? mergeUpdates;
const lastUpdate = updates.at(-1);