1 |
- {"ast":null,"code":"\"use strict\";\n\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ServiceTelemetryListener = void 0;\n/* eslint-disable max-classes-per-file */\nconst Exports_js_1 = require(\"../common/Exports.js\");\nconst RecognitionEvents_js_1 = require(\"./RecognitionEvents.js\");\nclass ServiceTelemetryListener {\n constructor(requestId, audioSourceId, audioNodeId) {\n this.privIsDisposed = false;\n this.privListeningTriggerMetric = null;\n this.privMicMetric = null;\n this.privConnectionEstablishMetric = null;\n this.privRequestId = requestId;\n this.privAudioSourceId = audioSourceId;\n this.privAudioNodeId = audioNodeId;\n this.privReceivedMessages = {};\n this.privPhraseLatencies = [];\n this.privHypothesisLatencies = [];\n }\n phraseReceived(audioReceivedTime) {\n if (audioReceivedTime > 0) {\n // 0 indicates the time is unknown. Drop it.\n this.privPhraseLatencies.push(Date.now() - audioReceivedTime);\n }\n }\n hypothesisReceived(audioReceivedTime) {\n if (audioReceivedTime > 0) {\n // 0 indicates the time is unknown. Drop it.\n this.privHypothesisLatencies.push(Date.now() - audioReceivedTime);\n }\n }\n onEvent(e) {\n if (this.privIsDisposed) {\n return;\n }\n if (e instanceof RecognitionEvents_js_1.RecognitionTriggeredEvent && e.requestId === this.privRequestId) {\n this.privListeningTriggerMetric = {\n End: e.eventTime,\n Name: \"ListeningTrigger\",\n Start: e.eventTime\n };\n }\n if (e instanceof Exports_js_1.AudioStreamNodeAttachingEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n this.privMicStartTime = e.eventTime;\n }\n if (e instanceof Exports_js_1.AudioStreamNodeAttachedEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n this.privMicStartTime = e.eventTime;\n }\n if (e instanceof Exports_js_1.AudioSourceErrorEvent && e.audioSourceId === this.privAudioSourceId) {\n if (!this.privMicMetric) {\n this.privMicMetric = {\n End: e.eventTime,\n Error: e.error,\n Name: \"Microphone\",\n Start: this.privMicStartTime\n };\n }\n }\n if (e instanceof Exports_js_1.AudioStreamNodeErrorEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n if (!this.privMicMetric) {\n this.privMicMetric = {\n End: e.eventTime,\n Error: e.error,\n Name: \"Microphone\",\n Start: this.privMicStartTime\n };\n }\n }\n if (e instanceof Exports_js_1.AudioStreamNodeDetachedEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n if (!this.privMicMetric) {\n this.privMicMetric = {\n End: e.eventTime,\n Name: \"Microphone\",\n Start: this.privMicStartTime\n };\n }\n }\n if (e instanceof RecognitionEvents_js_1.ConnectingToServiceEvent && e.requestId === this.privRequestId) {\n this.privConnectionId = e.sessionId;\n }\n if (e instanceof Exports_js_1.ConnectionStartEvent && e.connectionId === this.privConnectionId) {\n this.privConnectionStartTime = e.eventTime;\n }\n if (e instanceof Exports_js_1.ConnectionEstablishedEvent && e.connectionId === this.privConnectionId) {\n if (!this.privConnectionEstablishMetric) {\n this.privConnectionEstablishMetric = {\n End: e.eventTime,\n Id: this.privConnectionId,\n Name: \"Connection\",\n Start: this.privConnectionStartTime\n };\n }\n }\n if (e instanceof Exports_js_1.ConnectionEstablishErrorEvent && e.connectionId === this.privConnectionId) {\n if (!this.privConnectionEstablishMetric) {\n this.privConnectionEstablishMetric = {\n End: e.eventTime,\n Error: this.getConnectionError(e.statusCode),\n Id: this.privConnectionId,\n Name: \"Connection\",\n Start: this.privConnectionStartTime\n };\n }\n }\n if (e instanceof Exports_js_1.ConnectionMessageReceivedEvent && e.connectionId === this.privConnectionId) {\n if (e.message && e.message.headers && e.message.headers.path) {\n if (!this.privReceivedMessages[e.message.headers.path]) {\n this.privReceivedMessages[e.message.headers.path] = new Array();\n }\n const maxMessagesToSend = 50;\n if (this.privReceivedMessages[e.message.headers.path].length < maxMessagesToSend) {\n this.privReceivedMessages[e.message.headers.path].push(e.networkReceivedTime);\n }\n }\n }\n }\n getTelemetry() {\n const metrics = new Array();\n if (this.privListeningTriggerMetric) {\n metrics.push(this.privListeningTriggerMetric);\n }\n if (this.privMicMetric) {\n metrics.push(this.privMicMetric);\n }\n if (this.privConnectionEstablishMetric) {\n metrics.push(this.privConnectionEstablishMetric);\n }\n if (this.privPhraseLatencies.length > 0) {\n metrics.push({\n PhraseLatencyMs: this.privPhraseLatencies\n });\n }\n if (this.privHypothesisLatencies.length > 0) {\n metrics.push({\n FirstHypothesisLatencyMs: this.privHypothesisLatencies\n });\n }\n const telemetry = {\n Metrics: metrics,\n ReceivedMessages: this.privReceivedMessages\n };\n const json = JSON.stringify(telemetry);\n // We dont want to send the same telemetry again. So clean those out.\n this.privReceivedMessages = {};\n this.privListeningTriggerMetric = null;\n this.privMicMetric = null;\n this.privConnectionEstablishMetric = null;\n this.privPhraseLatencies = [];\n this.privHypothesisLatencies = [];\n return json;\n }\n // Determines if there are any telemetry events to send to the service.\n get hasTelemetry() {\n return Object.keys(this.privReceivedMessages).length !== 0 || this.privListeningTriggerMetric !== null || this.privMicMetric !== null || this.privConnectionEstablishMetric !== null || this.privPhraseLatencies.length !== 0 || this.privHypothesisLatencies.length !== 0;\n }\n dispose() {\n this.privIsDisposed = true;\n }\n getConnectionError(statusCode) {\n /*\n -- Websocket status codes --\n NormalClosure = 1000,\n EndpointUnavailable = 1001,\n ProtocolError = 1002,\n InvalidMessageType = 1003,\n Empty = 1005,\n InvalidPayloadData = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n MandatoryExtension = 1010,\n InternalServerError = 1011\n */\n switch (statusCode) {\n case 400:\n case 1002:\n case 1003:\n case 1005:\n case 1007:\n case 1008:\n case 1009:\n return \"BadRequest\";\n case 401:\n return \"Unauthorized\";\n case 403:\n return \"Forbidden\";\n case 503:\n case 1001:\n return \"ServerUnavailable\";\n case 500:\n case 1011:\n return \"ServerError\";\n case 408:\n case 504:\n return \"Timeout\";\n default:\n return \"statuscode:\" + statusCode.toString();\n }\n }\n}\nexports.ServiceTelemetryListener = ServiceTelemetryListener;","map":{"version":3,"names":["Object","defineProperty","exports","value","ServiceTelemetryListener","Exports_js_1","require","RecognitionEvents_js_1","constructor","requestId","audioSourceId","audioNodeId","privIsDisposed","privListeningTriggerMetric","privMicMetric","privConnectionEstablishMetric","privRequestId","privAudioSourceId","privAudioNodeId","privReceivedMessages","privPhraseLatencies","privHypothesisLatencies","phraseReceived","audioReceivedTime","push","Date","now","hypothesisReceived","onEvent","e","RecognitionTriggeredEvent","End","eventTime","Name","Start","AudioStreamNodeAttachingEvent","privMicStartTime","AudioStreamNodeAttachedEvent","AudioSourceErrorEvent","Error","error","AudioStreamNodeErrorEvent","AudioStreamNodeDetachedEvent","ConnectingToServiceEvent","privConnectionId","sessionId","ConnectionStartEvent","connectionId","privConnectionStartTime","ConnectionEstablishedEvent","Id","ConnectionEstablishErrorEvent","getConnectionError","statusCode","ConnectionMessageReceivedEvent","message","headers","path","Array","maxMessagesToSend","length","networkReceivedTime","getTelemetry","metrics","PhraseLatencyMs","FirstHypothesisLatencyMs","telemetry","Metrics","ReceivedMessages","json","JSON","stringify","hasTelemetry","keys","dispose","toString"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceTelemetryListener.Internal.js"],"sourcesContent":["\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceTelemetryListener = void 0;\n/* eslint-disable max-classes-per-file */\nconst Exports_js_1 = require(\"../common/Exports.js\");\nconst RecognitionEvents_js_1 = require(\"./RecognitionEvents.js\");\nclass ServiceTelemetryListener {\n constructor(requestId, audioSourceId, audioNodeId) {\n this.privIsDisposed = false;\n this.privListeningTriggerMetric = null;\n this.privMicMetric = null;\n this.privConnectionEstablishMetric = null;\n this.privRequestId = requestId;\n this.privAudioSourceId = audioSourceId;\n this.privAudioNodeId = audioNodeId;\n this.privReceivedMessages = {};\n this.privPhraseLatencies = [];\n this.privHypothesisLatencies = [];\n }\n phraseReceived(audioReceivedTime) {\n if (audioReceivedTime > 0) { // 0 indicates the time is unknown. Drop it.\n this.privPhraseLatencies.push(Date.now() - audioReceivedTime);\n }\n }\n hypothesisReceived(audioReceivedTime) {\n if (audioReceivedTime > 0) { // 0 indicates the time is unknown. Drop it.\n this.privHypothesisLatencies.push(Date.now() - audioReceivedTime);\n }\n }\n onEvent(e) {\n if (this.privIsDisposed) {\n return;\n }\n if (e instanceof RecognitionEvents_js_1.RecognitionTriggeredEvent && e.requestId === this.privRequestId) {\n this.privListeningTriggerMetric = {\n End: e.eventTime,\n Name: \"ListeningTrigger\",\n Start: e.eventTime,\n };\n }\n if (e instanceof Exports_js_1.AudioStreamNodeAttachingEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n this.privMicStartTime = e.eventTime;\n }\n if (e instanceof Exports_js_1.AudioStreamNodeAttachedEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n this.privMicStartTime = e.eventTime;\n }\n if (e instanceof Exports_js_1.AudioSourceErrorEvent && e.audioSourceId === this.privAudioSourceId) {\n if (!this.privMicMetric) {\n this.privMicMetric = {\n End: e.eventTime,\n Error: e.error,\n Name: \"Microphone\",\n Start: this.privMicStartTime,\n };\n }\n }\n if (e instanceof Exports_js_1.AudioStreamNodeErrorEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n if (!this.privMicMetric) {\n this.privMicMetric = {\n End: e.eventTime,\n Error: e.error,\n Name: \"Microphone\",\n Start: this.privMicStartTime,\n };\n }\n }\n if (e instanceof Exports_js_1.AudioStreamNodeDetachedEvent && e.audioSourceId === this.privAudioSourceId && e.audioNodeId === this.privAudioNodeId) {\n if (!this.privMicMetric) {\n this.privMicMetric = {\n End: e.eventTime,\n Name: \"Microphone\",\n Start: this.privMicStartTime,\n };\n }\n }\n if (e instanceof RecognitionEvents_js_1.ConnectingToServiceEvent && e.requestId === this.privRequestId) {\n this.privConnectionId = e.sessionId;\n }\n if (e instanceof Exports_js_1.ConnectionStartEvent && e.connectionId === this.privConnectionId) {\n this.privConnectionStartTime = e.eventTime;\n }\n if (e instanceof Exports_js_1.ConnectionEstablishedEvent && e.connectionId === this.privConnectionId) {\n if (!this.privConnectionEstablishMetric) {\n this.privConnectionEstablishMetric = {\n End: e.eventTime,\n Id: this.privConnectionId,\n Name: \"Connection\",\n Start: this.privConnectionStartTime,\n };\n }\n }\n if (e instanceof Exports_js_1.ConnectionEstablishErrorEvent && e.connectionId === this.privConnectionId) {\n if (!this.privConnectionEstablishMetric) {\n this.privConnectionEstablishMetric = {\n End: e.eventTime,\n Error: this.getConnectionError(e.statusCode),\n Id: this.privConnectionId,\n Name: \"Connection\",\n Start: this.privConnectionStartTime,\n };\n }\n }\n if (e instanceof Exports_js_1.ConnectionMessageReceivedEvent && e.connectionId === this.privConnectionId) {\n if (e.message && e.message.headers && e.message.headers.path) {\n if (!this.privReceivedMessages[e.message.headers.path]) {\n this.privReceivedMessages[e.message.headers.path] = new Array();\n }\n const maxMessagesToSend = 50;\n if (this.privReceivedMessages[e.message.headers.path].length < maxMessagesToSend) {\n this.privReceivedMessages[e.message.headers.path].push(e.networkReceivedTime);\n }\n }\n }\n }\n getTelemetry() {\n const metrics = new Array();\n if (this.privListeningTriggerMetric) {\n metrics.push(this.privListeningTriggerMetric);\n }\n if (this.privMicMetric) {\n metrics.push(this.privMicMetric);\n }\n if (this.privConnectionEstablishMetric) {\n metrics.push(this.privConnectionEstablishMetric);\n }\n if (this.privPhraseLatencies.length > 0) {\n metrics.push({\n PhraseLatencyMs: this.privPhraseLatencies,\n });\n }\n if (this.privHypothesisLatencies.length > 0) {\n metrics.push({\n FirstHypothesisLatencyMs: this.privHypothesisLatencies,\n });\n }\n const telemetry = {\n Metrics: metrics,\n ReceivedMessages: this.privReceivedMessages,\n };\n const json = JSON.stringify(telemetry);\n // We dont want to send the same telemetry again. So clean those out.\n this.privReceivedMessages = {};\n this.privListeningTriggerMetric = null;\n this.privMicMetric = null;\n this.privConnectionEstablishMetric = null;\n this.privPhraseLatencies = [];\n this.privHypothesisLatencies = [];\n return json;\n }\n // Determines if there are any telemetry events to send to the service.\n get hasTelemetry() {\n return (Object.keys(this.privReceivedMessages).length !== 0 ||\n this.privListeningTriggerMetric !== null ||\n this.privMicMetric !== null ||\n this.privConnectionEstablishMetric !== null ||\n this.privPhraseLatencies.length !== 0 ||\n this.privHypothesisLatencies.length !== 0);\n }\n dispose() {\n this.privIsDisposed = true;\n }\n getConnectionError(statusCode) {\n /*\n -- Websocket status codes --\n NormalClosure = 1000,\n EndpointUnavailable = 1001,\n ProtocolError = 1002,\n InvalidMessageType = 1003,\n Empty = 1005,\n InvalidPayloadData = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n MandatoryExtension = 1010,\n InternalServerError = 1011\n */\n switch (statusCode) {\n case 400:\n case 1002:\n case 1003:\n case 1005:\n case 1007:\n case 1008:\n case 1009: return \"BadRequest\";\n case 401: return \"Unauthorized\";\n case 403: return \"Forbidden\";\n case 503:\n case 1001: return \"ServerUnavailable\";\n case 500:\n case 1011: return \"ServerError\";\n case 408:\n case 504: return \"Timeout\";\n default: return \"statuscode:\" + statusCode.toString();\n }\n }\n}\nexports.ServiceTelemetryListener = ServiceTelemetryListener;\n\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}
|