summaryrefslogtreecommitdiffstats
path: root/toolkit/components/pdfjs/content/PdfJsTelemetry.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/pdfjs/content/PdfJsTelemetry.jsm')
-rw-r--r--toolkit/components/pdfjs/content/PdfJsTelemetry.jsm91
1 files changed, 91 insertions, 0 deletions
diff --git a/toolkit/components/pdfjs/content/PdfJsTelemetry.jsm b/toolkit/components/pdfjs/content/PdfJsTelemetry.jsm
new file mode 100644
index 0000000000..cb2cea7de4
--- /dev/null
+++ b/toolkit/components/pdfjs/content/PdfJsTelemetry.jsm
@@ -0,0 +1,91 @@
+/* Copyright 2013 Mozilla Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/* eslint max-len: ["error", 100] */
+
+"use strict";
+
+var EXPORTED_SYMBOLS = ["PdfJsTelemetry"];
+
+const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+
+var PdfJsTelemetry = {
+ onViewerIsUsed() {
+ Services.telemetry.scalarAdd("pdf.viewer.used", 1);
+ },
+ onFallbackShown(featureId) {
+ Services.telemetry.scalarAdd("pdf.viewer.fallback_shown", 1);
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_FALLBACK_REASON"
+ );
+ histogram.add(featureId ?? "unknown");
+ },
+ onFallbackError(featureId) {
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_FALLBACK_ERROR"
+ );
+ histogram.add(featureId ?? "unknown");
+ },
+ onDocumentSize(size) {
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_DOCUMENT_SIZE_KB"
+ );
+ histogram.add(size / 1024);
+ },
+ onDocumentVersion(versionId) {
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_DOCUMENT_VERSION_2"
+ );
+ histogram.add(versionId);
+ },
+ onDocumentGenerator(generatorId) {
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_DOCUMENT_GENERATOR_2"
+ );
+ histogram.add(generatorId);
+ },
+ onEmbed(isObject) {
+ let histogram = Services.telemetry.getHistogramById("PDF_VIEWER_EMBED_2");
+ histogram.add(isObject ? "object_embed" : "iframe");
+ },
+ onFontType(fontTypeId) {
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_FONT_TYPES_2"
+ );
+ histogram.add(fontTypeId);
+ },
+ onForm(formType) {
+ let histogram = Services.telemetry.getHistogramById("PDF_VIEWER_FORM_2");
+ histogram.add(formType);
+ },
+ onPrint() {
+ Services.telemetry.scalarAdd("pdf.viewer.print", 1);
+ },
+ onStreamType(streamTypeId) {
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_STREAM_TYPES_2"
+ );
+ histogram.add(streamTypeId);
+ },
+ onTimeToView(ms) {
+ let histogram = Services.telemetry.getHistogramById(
+ "PDF_VIEWER_TIME_TO_VIEW_MS"
+ );
+ histogram.add(ms);
+ },
+ onTagged(tagged) {
+ let histogram = Services.telemetry.getHistogramById("PDF_VIEWER_TAGGED");
+ histogram.add(tagged);
+ },
+};