diff --git a/src/Common/dataAccess/queryDocuments.ts b/src/Common/dataAccess/queryDocuments.ts index 223fe987d..7538d214e 100644 --- a/src/Common/dataAccess/queryDocuments.ts +++ b/src/Common/dataAccess/queryDocuments.ts @@ -1,6 +1,8 @@ import { FeedOptions, ItemDefinition, QueryIterator, Resource } from "@azure/cosmos"; +import { Action, ActionModifiers } from "Shared/Telemetry/TelemetryConstants"; import { isVectorSearchEnabled } from "Utils/CapabilityUtils"; import { LocalStorageUtility, StorageKey } from "../../Shared/StorageUtility"; +import * as TelemetryProcessor from "../../Shared/Telemetry/TelemetryProcessor"; import { Queries } from "../Constants"; import { client } from "../CosmosClient"; @@ -11,6 +13,7 @@ export const queryDocuments = ( options: FeedOptions, ): QueryIterator => { options = getCommonQueryOptions(options); + TelemetryProcessor.trace(Action.ExecuteQuery, ActionModifiers.Submit); return client().database(databaseId).container(containerId).items.query(query, options); }; diff --git a/src/Explorer/Tree/Collection.ts b/src/Explorer/Tree/Collection.ts index c692d0747..55ba9bcf6 100644 --- a/src/Explorer/Tree/Collection.ts +++ b/src/Explorer/Tree/Collection.ts @@ -1040,9 +1040,22 @@ export default class Collection implements ViewModels.Collection { } public async uploadFiles(files: FileList): Promise<{ data: UploadDetailsRecord[] }> { - const data = await Promise.all(Array.from(files).map((file) => this.uploadFile(file))); - - return { data }; + try { + TelemetryProcessor.trace(Action.UploadDocuments, ActionModifiers.Start, { + nbFiles: files.length, + }); + const data = await Promise.all(Array.from(files).map((file) => this.uploadFile(file))); + TelemetryProcessor.trace(Action.UploadDocuments, ActionModifiers.Success, { + nbFiles: files.length, + }); + return { data }; + } catch (error) { + TelemetryProcessor.trace(Action.UploadDocuments, ActionModifiers.Failed, { + error: getErrorMessage(error), + errorStack: getErrorStack(error), + }); + throw error; + } } private uploadFile(file: File): Promise { diff --git a/src/Shared/Telemetry/TelemetryConstants.ts b/src/Shared/Telemetry/TelemetryConstants.ts index 1fae132ad..77b999fe2 100644 --- a/src/Shared/Telemetry/TelemetryConstants.ts +++ b/src/Shared/Telemetry/TelemetryConstants.ts @@ -142,6 +142,7 @@ export enum Action { ReadPersistedTabState, SavePersistedTabState, DeletePersistedTabState, + UploadDocuments, } export const ActionModifiers = {