提交 f117237e 编写于 作者: S Sandeep Somavarapu

Add more data to extension telemetry

- search text
- index in the list
上级 b14c2554
......@@ -143,6 +143,7 @@ export interface IGalleryExtension {
ratingCount: number;
assets: IGalleryExtensionAssets;
properties: IGalleryExtensionProperties;
telemetryData: any;
}
export interface IGalleryMetadata {
......
......@@ -70,7 +70,8 @@ export function getGalleryExtensionTelemetryData(extension: IGalleryExtension):
publisherId: extension.publisherId,
publisherName: extension.publisher,
publisherDisplayName: extension.publisherDisplayName,
dependencies: extension.properties.dependencies.length > 0
dependencies: extension.properties.dependencies.length > 0,
...extension.telemetryData
};
}
......
......@@ -185,6 +185,11 @@ class Query {
const filters = [{ criteria, pageNumber, pageSize, sortBy, sortOrder }];
return { filters, assetTypes, flags };
}
get searchText(): string {
const criterium = this.state.criteria.filter(criterium => criterium.filterType === FilterType.SearchText)[0];
return criterium ? criterium.value : '';
}
}
function getStatistic(statistics: IRawGalleryExtensionStatistics[], name: string): number {
......@@ -228,7 +233,7 @@ function getEngine(version: IRawGalleryExtensionVersion): string {
return (values.length > 0 && values[0].value) || '';
}
function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUrl: string): IGalleryExtension {
function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUrl: string, index: number, query: Query): IGalleryExtension {
const [version] = galleryExtension.versions;
const assets = {
manifest: getVersionAsset(version, AssetType.Manifest),
......@@ -257,6 +262,10 @@ function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUr
properties: {
dependencies: getDependencies(version),
engine: getEngine(version)
},
telemetryData: {
index: ((query.pageNumber - 1) * query.pageSize) + index,
searchText: query.searchText
}
};
}
......@@ -346,10 +355,13 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
}
return this.queryGallery(query).then(({ galleryExtensions, total }) => {
const extensions = galleryExtensions.map(e => toExtension(e, this.extensionsGalleryUrl));
const extensions = galleryExtensions.map((e, index) => toExtension(e, this.extensionsGalleryUrl, index, query));
const pageSize = query.pageSize;
const getPage = pageIndex => this.queryGallery(query.withPage(pageIndex + 1))
.then(({ galleryExtensions }) => galleryExtensions.map(e => toExtension(e, this.extensionsGalleryUrl)));
const getPage = pageIndex => {
const nextPageQuery = query.withPage(pageIndex + 1);
return this.queryGallery(nextPageQuery)
.then(({ galleryExtensions }) => galleryExtensions.map((e, index) => toExtension(e, this.extensionsGalleryUrl, index, nextPageQuery)));
};
return { firstPage: extensions, total, pageSize, getPage };
});
......@@ -489,9 +501,10 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
const dependencies = [];
const ids = [];
for (const rawExtension of result.galleryExtensions) {
for (let index = 0; index < result.galleryExtensions.length; index++) {
const rawExtension = result.galleryExtensions[index];
if (ids.indexOf(rawExtension.extensionId) === -1) {
dependencies.push(toExtension(rawExtension, this.extensionsGalleryUrl));
dependencies.push(toExtension(rawExtension, this.extensionsGalleryUrl, index, query));
ids.push(rawExtension.extensionId);
}
}
......
......@@ -412,6 +412,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService {
}
open(extension: IExtension, sideByside: boolean = false): TPromise<any> {
this.telemetryService.publicLog('extensionGallery:open', extension.telemetryData);
return this.editorService.openEditor(this.instantiationService.createInstance(ExtensionsInput, extension), null, sideByside);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册