{"version":3,"file":"8737.34adb8d2f931a0b7230d.js","mappings":"8JAmBO,MAAMA,CAAuF,CAIlG,YAAmBC,EAAoC,CAApC,aAAAA,EAHnB,KAAQ,OAAoC,CAAC,EAC7C,qBAAkB,CAAC,KAAc,WAAW,EAI5C,cAAYC,GAAiB,CAC3B,KAAK,OAAO,KAAKA,EAAE,OAAO,CAC5B,EAEA,WAAQ,IAAM,CACR,KAAK,OAAO,SAAW,IAI3B,KACG,KACC,wBACA,CACE,OAAQ,KAAK,MACf,EACA,CAAE,eAAgB,EAAM,CAC1B,EACC,MAAM,IAAM,CAEb,CAAC,EAEH,KAAK,OAAS,CAAC,EACjB,CAxBwD,CAyB1D,C","sources":["webpack://grafana/./public/app/core/services/echo/backends/PerformanceBackend.ts"],"sourcesContent":["import { EchoBackend, EchoEvent, EchoEventType } from '@grafana/runtime';\n\nimport { backendSrv } from '../../backend_srv';\n\nexport interface PerformanceEventPayload {\n  name: string;\n  value: number;\n}\n\nexport interface PerformanceEvent extends EchoEvent<EchoEventType.Performance, PerformanceEventPayload> {}\n\nexport interface PerformanceBackendOptions {\n  url?: string;\n}\n\n/**\n * Echo's performance metrics consumer\n * Reports performance metrics to given url (TODO)\n */\nexport class PerformanceBackend implements EchoBackend<PerformanceEvent, PerformanceBackendOptions> {\n  private buffer: PerformanceEventPayload[] = [];\n  supportedEvents = [EchoEventType.Performance];\n\n  constructor(public options: PerformanceBackendOptions) {}\n\n  addEvent = (e: EchoEvent) => {\n    this.buffer.push(e.payload);\n  };\n\n  flush = () => {\n    if (this.buffer.length === 0) {\n      return;\n    }\n\n    backendSrv\n      .post(\n        '/api/frontend-metrics',\n        {\n          events: this.buffer,\n        },\n        { showErrorAlert: false }\n      )\n      .catch(() => {\n        // Just swallow this error - it's non-critical\n      });\n\n    this.buffer = [];\n  };\n}\n"],"names":["PerformanceBackend","options","e"],"sourceRoot":""}