@oneuptime/common 10.8.2 → 11.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +16 -18
- package/Models/AnalyticsModels/AuditLog.ts +3 -1
- package/Models/AnalyticsModels/ExceptionInstance.ts +200 -82
- package/Models/AnalyticsModels/Index.ts +7 -2
- package/Models/AnalyticsModels/Log.ts +197 -81
- package/Models/AnalyticsModels/Metric.ts +199 -86
- package/Models/AnalyticsModels/MetricBaselineHourly.ts +44 -25
- package/Models/AnalyticsModels/MetricItemAggMV1m.ts +23 -20
- package/Models/AnalyticsModels/{MetricItemAggMV1mByHost.ts → MetricItemAggMV1mByHostV2.ts} +58 -47
- package/Models/AnalyticsModels/MonitorLog.ts +5 -1
- package/Models/AnalyticsModels/Profile.ts +206 -85
- package/Models/AnalyticsModels/ProfileSample.ts +196 -83
- package/Models/AnalyticsModels/Span.ts +218 -85
- package/Models/DatabaseModels/Index.ts +4 -0
- package/Models/DatabaseModels/Service.ts +29 -0
- package/Models/DatabaseModels/TelemetryEntity.ts +393 -0
- package/Models/DatabaseModels/TelemetryEntityRelationship.ts +294 -0
- package/Models/DatabaseModels/TelemetryException.ts +10 -10
- package/Models/DatabaseModels/TelemetryUsageBilling.ts +5 -5
- package/Server/API/AIAgentDataAPI.ts +13 -12
- package/Server/API/DashboardAPI.ts +2 -2
- package/Server/API/TelemetryAPI.ts +656 -141
- package/Server/API/TelemetryExceptionAPI.ts +2 -2
- package/Server/Infrastructure/ClickhouseConfig.ts +12 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.ts +48 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.ts +70 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.ts +57 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.ts +207 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.ts +24 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.ts +25 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
- package/Server/Infrastructure/Queue.ts +36 -3
- package/Server/Middleware/TelemetryIngest.ts +27 -22
- package/Server/Services/AlertService.ts +9 -9
- package/Server/Services/AnalyticsDatabaseService.ts +204 -35
- package/Server/Services/ExceptionAggregationService.ts +41 -18
- package/Server/Services/HostService.ts +2 -1
- package/Server/Services/IncidentService.ts +19 -19
- package/Server/Services/Index.ts +6 -2
- package/Server/Services/LogAggregationService.ts +116 -43
- package/Server/Services/MetricAggregationService.ts +29 -14
- package/Server/Services/MetricBaselineService.ts +34 -34
- package/Server/Services/MetricItemAggMV1mByHostV2Service.ts +30 -0
- package/Server/Services/MetricService.ts +119 -31
- package/Server/Services/OpenTelemetryIngestService.ts +186 -50
- package/Server/Services/ProfileAggregationService.ts +904 -126
- package/Server/Services/ServiceService.ts +6 -0
- package/Server/Services/SpanService.ts +274 -14
- package/Server/Services/TelemetryEntityRelationshipService.ts +71 -0
- package/Server/Services/TelemetryEntityService.ts +246 -0
- package/Server/Services/TelemetryExceptionService.ts +27 -23
- package/Server/Services/TelemetryUsageBillingService.ts +38 -31
- package/Server/Services/TraceAggregationService.ts +875 -43
- package/Server/Types/AnalyticsDatabase/ModelPermission.ts +43 -2
- package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -2
- package/Server/Types/Database/Permissions/BasePermission.ts +37 -1
- package/Server/Types/Database/Permissions/OwnedScopePermission.ts +21 -3
- package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +1 -0
- package/Server/Types/Database/QueryHelper.ts +41 -0
- package/Server/Utils/Alert/AlertPrivacyFilter.ts +9 -2
- package/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.ts +9 -2
- package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +95 -0
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +133 -0
- package/Server/Utils/Incident/IncidentPrivacyFilter.ts +9 -2
- package/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.ts +9 -2
- package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +1 -1
- package/Server/Utils/Monitor/MonitorLogUtil.ts +1 -2
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +3 -4
- package/Server/Utils/PrivacyFilterUtil.ts +72 -0
- package/Server/Utils/Profile/PprofEncoder.ts +135 -11
- package/Server/Utils/Telemetry/EntityRegistry.ts +316 -0
- package/Server/Utils/Telemetry/ResourceFacetResolver.ts +5 -0
- package/Server/Utils/Telemetry/TelemetryEntity.ts +783 -0
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +79 -4
- package/Tests/Server/Services/LogAggregationService.test.ts +7 -2
- package/Tests/Server/Services/ProfileAggregationService.test.ts +280 -0
- package/Tests/Server/Services/ProfileBreakdown.test.ts +161 -0
- package/Tests/Server/Services/ProfileFunctionFocus.test.ts +349 -0
- package/Tests/Server/Services/TelemetryAttributeService.test.ts +1 -1
- package/Tests/Server/Services/TraceAggregationService.test.ts +403 -0
- package/Tests/Server/Types/AnalyticsDatabase/ModelPermissionOwnedScope.test.ts +114 -0
- package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +189 -0
- package/Tests/Server/Types/Database/Permissions/BasePermission.test.ts +118 -0
- package/Tests/Server/Types/Database/Permissions/OwnedScopePermission.test.ts +159 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +275 -8
- package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +177 -0
- package/Tests/Server/Utils/Profile/PprofEncoder.test.ts +276 -0
- package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +761 -0
- package/Tests/Types/Monitor/MonitorStepEntityScope.test.ts +275 -0
- package/Tests/Types/Text.test.ts +52 -0
- package/Tests/Utils/Telemetry/EntityKey.test.ts +150 -0
- package/Tests/Utils/Telemetry/EntityKeySqlParity.test.ts +40 -0
- package/Tests/Utils/Telemetry/EntityRelationship.test.ts +150 -0
- package/Tests/Utils/UUID.test.ts +47 -0
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +14 -9
- package/Types/AnalyticsDatabase/TableColumnType.ts +1 -0
- package/Types/Dashboard/DashboardComponentType.ts +1 -0
- package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +37 -0
- package/Types/Dashboard/DashboardTemplates.ts +4 -5
- package/Types/Log/LogQueryParser.ts +2 -2
- package/Types/Log/LogQueryToFilter.ts +2 -2
- package/Types/Monitor/MonitorStepExceptionMonitor.ts +19 -1
- package/Types/Monitor/MonitorStepLogMonitor.ts +20 -1
- package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -0
- package/Types/Monitor/MonitorStepProfileMonitor.ts +19 -1
- package/Types/Monitor/MonitorStepTraceMonitor.ts +18 -1
- package/Types/Monitor/MonitorType.ts +8 -1
- package/Types/ObjectID.ts +10 -0
- package/Types/Telemetry/EntityRelationshipType.ts +31 -0
- package/Types/Telemetry/EntityType.ts +33 -0
- package/Types/Telemetry/TelemetrySavedViewState.ts +2 -0
- package/Types/Text.ts +34 -0
- package/Types/Trace/TraceAggregationType.ts +1 -0
- package/Types/Trace/TraceRecordingRuleDefinition.ts +74 -0
- package/UI/Components/LogsViewer/LogsViewer.tsx +12 -9
- package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +10 -9
- package/UI/Components/LogsViewer/components/LogSearchBar.tsx +1 -1
- package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +2 -2
- package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +4 -4
- package/UI/Components/LogsViewer/components/LogsTable.tsx +5 -3
- package/UI/Components/Navbar/NavBarMenuModal.tsx +81 -44
- package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +33 -10
- package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +18 -3
- package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +91 -68
- package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +9 -2
- package/UI/Utils/LogExport.ts +2 -2
- package/UI/Utils/TelemetryService.ts +20 -20
- package/Utils/Dashboard/Components/DashboardTraceChartComponent.ts +134 -0
- package/Utils/Dashboard/Components/Index.ts +7 -0
- package/Utils/Telemetry/EntityKey.ts +151 -0
- package/Utils/Telemetry/EntityRelationship.ts +113 -0
- package/Utils/Traces/CriticalPath.ts +7 -7
- package/Utils/UUID.ts +57 -0
- package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +14 -13
- package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/AuditLog.js +2 -1
- package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +125 -22
- package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Index.js +7 -2
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Log.js +123 -22
- package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Metric.js +125 -27
- package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +38 -21
- package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +17 -16
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/{MetricItemAggMV1mByHost.js → MetricItemAggMV1mByHostV2.js} +54 -42
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/MonitorLog.js +4 -1
- package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Profile.js +132 -26
- package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ProfileSample.js +121 -23
- package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Span.js +144 -26
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +4 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Service.js +30 -0
- package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryEntity.js +419 -0
- package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +317 -0
- package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js +12 -12
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +7 -7
- package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +14 -13
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +2 -2
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +425 -129
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryExceptionAPI.js +2 -2
- package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -0
- package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js +29 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js +38 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js +33 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js +78 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js +19 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Infrastructure/Queue.js +14 -3
- package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +16 -18
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Services/AlertService.js +9 -9
- package/build/dist/Server/Services/AlertService.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +115 -40
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/ExceptionAggregationService.js +38 -18
- package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
- package/build/dist/Server/Services/HostService.js +2 -1
- package/build/dist/Server/Services/HostService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +19 -19
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +6 -2
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +100 -42
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +27 -14
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricBaselineService.js +28 -28
- package/build/dist/Server/Services/MetricBaselineService.js.map +1 -1
- package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js +28 -0
- package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js.map +1 -0
- package/build/dist/Server/Services/MetricService.js +116 -31
- package/build/dist/Server/Services/MetricService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -36
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/ProfileAggregationService.js +613 -105
- package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
- package/build/dist/Server/Services/ServiceService.js +9 -5
- package/build/dist/Server/Services/ServiceService.js.map +1 -1
- package/build/dist/Server/Services/SpanService.js +217 -15
- package/build/dist/Server/Services/SpanService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +72 -0
- package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -0
- package/build/dist/Server/Services/TelemetryEntityService.js +201 -0
- package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -0
- package/build/dist/Server/Services/TelemetryExceptionService.js +18 -18
- package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -21
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +568 -43
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +38 -2
- package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +36 -2
- package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/BasePermission.js +25 -1
- package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js +17 -3
- package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +1 -0
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +31 -0
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +3 -2
- package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js +3 -2
- package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +97 -3
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +3 -2
- package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js +3 -2
- package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +1 -2
- package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +3 -4
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/PrivacyFilterUtil.js +47 -0
- package/build/dist/Server/Utils/PrivacyFilterUtil.js.map +1 -0
- package/build/dist/Server/Utils/Profile/PprofEncoder.js +132 -4
- package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +228 -0
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +5 -0
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +569 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +14 -9
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +1 -0
- package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +4 -5
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Log/LogQueryParser.js +2 -2
- package/build/dist/Types/Log/LogQueryParser.js.map +1 -1
- package/build/dist/Types/Log/LogQueryToFilter.js +1 -1
- package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js +9 -1
- package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +9 -1
- package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +13 -0
- package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +9 -1
- package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js +9 -1
- package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +8 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/ObjectID.js +9 -0
- package/build/dist/Types/ObjectID.js.map +1 -1
- package/build/dist/Types/Telemetry/EntityRelationshipType.js +32 -0
- package/build/dist/Types/Telemetry/EntityRelationshipType.js.map +1 -0
- package/build/dist/Types/Telemetry/EntityType.js +34 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -0
- package/build/dist/Types/Text.js +32 -1
- package/build/dist/Types/Text.js.map +1 -1
- package/build/dist/Types/Trace/TraceAggregationType.js +1 -0
- package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -1
- package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +50 -1
- package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +10 -9
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +8 -8
- package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +2 -2
- package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +4 -4
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +3 -3
- package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +43 -30
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +6 -2
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -3
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +18 -10
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +4 -2
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
- package/build/dist/UI/Utils/LogExport.js +2 -2
- package/build/dist/UI/Utils/LogExport.js.map +1 -1
- package/build/dist/UI/Utils/TelemetryService.js +16 -16
- package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js +110 -0
- package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityKey.js +115 -0
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -0
- package/build/dist/Utils/Telemetry/EntityRelationship.js +71 -0
- package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -0
- package/build/dist/Utils/Traces/CriticalPath.js +5 -5
- package/build/dist/Utils/Traces/CriticalPath.js.map +1 -1
- package/build/dist/Utils/UUID.js +50 -0
- package/build/dist/Utils/UUID.js.map +1 -1
- package/package.json +2 -1
- package/tsconfig.json +10 -1
- package/Server/Services/MetricItemAggMV1mByHostService.ts +0 -30
- package/Types/Profile/ProfileMetricType.ts +0 -16
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHost.js.map +0 -1
- package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js +0 -28
- package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js.map +0 -1
- package/build/dist/Tests/MockType.js +0 -5
- package/build/dist/Tests/MockType.js.map +0 -1
- package/build/dist/Tests/Models/AnalyticsModels/Log.test.js +0 -12
- package/build/dist/Tests/Models/AnalyticsModels/Log.test.js.map +0 -1
- package/build/dist/Tests/Models/File.test.js +0 -10
- package/build/dist/Tests/Models/File.test.js.map +0 -1
- package/build/dist/Tests/Server/API/BaseAPI.test.js +0 -590
- package/build/dist/Tests/Server/API/BaseAPI.test.js.map +0 -1
- package/build/dist/Tests/Server/API/Helpers.js +0 -27
- package/build/dist/Tests/Server/API/Helpers.js.map +0 -1
- package/build/dist/Tests/Server/API/ProbeAPI.test.js +0 -84
- package/build/dist/Tests/Server/API/ProbeAPI.test.js.map +0 -1
- package/build/dist/Tests/Server/API/ProjectAPI.test.js +0 -170
- package/build/dist/Tests/Server/API/ProjectAPI.test.js.map +0 -1
- package/build/dist/Tests/Server/API/UserSmsApi.test.js +0 -177
- package/build/dist/Tests/Server/API/UserSmsApi.test.js.map +0 -1
- package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js +0 -63
- package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js.map +0 -1
- package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js +0 -58
- package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js.map +0 -1
- package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js +0 -101
- package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js.map +0 -1
- package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +0 -160
- package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +0 -1
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +0 -410
- package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js +0 -165
- package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js +0 -193
- package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +0 -435
- package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js +0 -320
- package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +0 -266
- package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/BillingService.test.js +0 -910
- package/build/dist/Tests/Server/Services/BillingService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/LogAggregationService.test.js +0 -75
- package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/ProbeService.test.js +0 -127
- package/build/dist/Tests/Server/Services/ProbeService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js +0 -114
- package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/TeamMemberService.test.js +0 -106
- package/build/dist/Tests/Server/Services/TeamMemberService.test.js.map +0 -1
- package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js +0 -50
- package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Init.js +0 -4
- package/build/dist/Tests/Server/TestingUtils/Init.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js +0 -9
- package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js +0 -16
- package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js +0 -125
- package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js +0 -39
- package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js +0 -20
- package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js +0 -31
- package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js +0 -14
- package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js +0 -21
- package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/Types.js +0 -2
- package/build/dist/Tests/Server/TestingUtils/Services/Types.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js +0 -37
- package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js +0 -13
- package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js.map +0 -1
- package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js +0 -22
- package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js.map +0 -1
- package/build/dist/Tests/Server/Types/Domain.test.js +0 -78
- package/build/dist/Tests/Server/Types/Domain.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js +0 -94
- package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +0 -459
- package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/Cookie.test.js +0 -83
- package/build/dist/Tests/Server/Utils/Cookie.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/CronTab.test.js +0 -29
- package/build/dist/Tests/Server/Utils/CronTab.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/JsonToCsv.test.js +0 -114
- package/build/dist/Tests/Server/Utils/JsonToCsv.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +0 -606
- package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js +0 -255
- package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js +0 -142
- package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/StatusPageResource.test.js +0 -122
- package/build/dist/Tests/Server/Utils/StatusPageResource.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js +0 -0
- package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js.map +0 -1
- package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js +0 -205
- package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js.map +0 -1
- package/build/dist/Tests/Spy.js +0 -4
- package/build/dist/Tests/Spy.js.map +0 -1
- package/build/dist/Tests/Types/API/ErrorResponse.test.js +0 -13
- package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +0 -1
- package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +0 -33
- package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +0 -1
- package/build/dist/Tests/Types/API/HTTPMethod.test.js +0 -16
- package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +0 -1
- package/build/dist/Tests/Types/API/Headers.test.js +0 -14
- package/build/dist/Tests/Types/API/Headers.test.js.map +0 -1
- package/build/dist/Tests/Types/API/Hostname.test.js +0 -22
- package/build/dist/Tests/Types/API/Hostname.test.js.map +0 -1
- package/build/dist/Tests/Types/API/Protocal.test.js +0 -19
- package/build/dist/Tests/Types/API/Protocal.test.js.map +0 -1
- package/build/dist/Tests/Types/API/Response.test.js +0 -14
- package/build/dist/Tests/Types/API/Response.test.js.map +0 -1
- package/build/dist/Tests/Types/API/ResponseType.test.js +0 -13
- package/build/dist/Tests/Types/API/ResponseType.test.js.map +0 -1
- package/build/dist/Tests/Types/API/Route.test.js +0 -30
- package/build/dist/Tests/Types/API/Route.test.js.map +0 -1
- package/build/dist/Tests/Types/API/StatusCode.test.js +0 -26
- package/build/dist/Tests/Types/API/StatusCode.test.js.map +0 -1
- package/build/dist/Tests/Types/API/URL.test.js +0 -33
- package/build/dist/Tests/Types/API/URL.test.js.map +0 -1
- package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +0 -34
- package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +0 -1
- package/build/dist/Tests/Types/Alerts/AlertType.test.js +0 -19
- package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +0 -1
- package/build/dist/Tests/Types/AppEnvironment.test.js +0 -13
- package/build/dist/Tests/Types/AppEnvironment.test.js.map +0 -1
- package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +0 -13
- package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +0 -1
- package/build/dist/Tests/Types/ArrayUtil.test.js +0 -71
- package/build/dist/Tests/Types/ArrayUtil.test.js.map +0 -1
- package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +0 -181
- package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +0 -1
- package/build/dist/Tests/Types/BrandColors.test.js +0 -124
- package/build/dist/Tests/Types/BrandColors.test.js.map +0 -1
- package/build/dist/Tests/Types/Char.test.js +0 -82
- package/build/dist/Tests/Types/Char.test.js.map +0 -1
- package/build/dist/Tests/Types/Code/CodeType.test.js +0 -13
- package/build/dist/Tests/Types/Code/CodeType.test.js.map +0 -1
- package/build/dist/Tests/Types/Color.test.js +0 -44
- package/build/dist/Tests/Types/Color.test.js.map +0 -1
- package/build/dist/Tests/Types/Company/CompanySize.test.js +0 -20
- package/build/dist/Tests/Types/Company/CompanySize.test.js.map +0 -1
- package/build/dist/Tests/Types/Company/JobRole.test.js +0 -22
- package/build/dist/Tests/Types/Company/JobRole.test.js.map +0 -1
- package/build/dist/Tests/Types/Countries.test.js +0 -249
- package/build/dist/Tests/Types/Countries.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/ColumnLength.test.js +0 -43
- package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/ColumnType.test.js +0 -79
- package/build/dist/Tests/Types/Database/ColumnType.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/Columns.test.js +0 -20
- package/build/dist/Tests/Types/Database/Columns.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/CompareBase.test.js +0 -37
- package/build/dist/Tests/Types/Database/CompareBase.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/Date.test.js +0 -62
- package/build/dist/Tests/Types/Database/Date.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/EqualTo.test.js +0 -65
- package/build/dist/Tests/Types/Database/EqualTo.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +0 -62
- package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/InBetween.test.js +0 -72
- package/build/dist/Tests/Types/Database/InBetween.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/LimitMax.test.js +0 -18
- package/build/dist/Tests/Types/Database/LimitMax.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/NotEqual.test.js +0 -19
- package/build/dist/Tests/Types/Database/NotEqual.test.js.map +0 -1
- package/build/dist/Tests/Types/Database/Search.test.js +0 -10
- package/build/dist/Tests/Types/Database/Search.test.js.map +0 -1
- package/build/dist/Tests/Types/DatabaseType.test.js +0 -7
- package/build/dist/Tests/Types/DatabaseType.test.js.map +0 -1
- package/build/dist/Tests/Types/Date.test.js +0 -194
- package/build/dist/Tests/Types/Date.test.js.map +0 -1
- package/build/dist/Tests/Types/Dictionary.test.js +0 -25
- package/build/dist/Tests/Types/Dictionary.test.js.map +0 -1
- package/build/dist/Tests/Types/Domain.test.js +0 -54
- package/build/dist/Tests/Types/Domain.test.js.map +0 -1
- package/build/dist/Tests/Types/Email/Email.test.js +0 -51
- package/build/dist/Tests/Types/Email/Email.test.js.map +0 -1
- package/build/dist/Tests/Types/EmailWithName.test.js +0 -36
- package/build/dist/Tests/Types/EmailWithName.test.js.map +0 -1
- package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +0 -7
- package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +0 -1
- package/build/dist/Tests/Types/Exception/ApiException.test.js +0 -10
- package/build/dist/Tests/Types/Exception/ApiException.test.js.map +0 -1
- package/build/dist/Tests/Types/Exception/BadDataException.test.js +0 -12
- package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +0 -1
- package/build/dist/Tests/Types/Exception/BadOperationException.test.js +0 -10
- package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +0 -1
- package/build/dist/Tests/Types/Exception/BadRequestException.test.js +0 -12
- package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +0 -1
- package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +0 -10
- package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +0 -1
- package/build/dist/Tests/Types/Exception/Exception.test.js +0 -15
- package/build/dist/Tests/Types/Exception/Exception.test.js.map +0 -1
- package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +0 -12
- package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +0 -1
- package/build/dist/Tests/Types/File.test.js +0 -22
- package/build/dist/Tests/Types/File.test.js.map +0 -1
- package/build/dist/Tests/Types/HashedString.test.js +0 -51
- package/build/dist/Tests/Types/HashedString.test.js.map +0 -1
- package/build/dist/Tests/Types/Html.test.js +0 -8
- package/build/dist/Tests/Types/Html.test.js.map +0 -1
- package/build/dist/Tests/Types/IP/IP.test.js +0 -65
- package/build/dist/Tests/Types/IP/IP.test.js.map +0 -1
- package/build/dist/Tests/Types/IP/IPType.test.js +0 -10
- package/build/dist/Tests/Types/IP/IPType.test.js.map +0 -1
- package/build/dist/Tests/Types/IP/IPv4.test.js +0 -17
- package/build/dist/Tests/Types/IP/IPv4.test.js.map +0 -1
- package/build/dist/Tests/Types/IP/IPv6.test.js +0 -17
- package/build/dist/Tests/Types/IP/IPv6.test.js.map +0 -1
- package/build/dist/Tests/Types/JSON.test.js +0 -37
- package/build/dist/Tests/Types/JSON.test.js.map +0 -1
- package/build/dist/Tests/Types/JSONFunctions.test.js +0 -38
- package/build/dist/Tests/Types/JSONFunctions.test.js.map +0 -1
- package/build/dist/Tests/Types/ListData.test.js +0 -34
- package/build/dist/Tests/Types/ListData.test.js.map +0 -1
- package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js +0 -121
- package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js.map +0 -1
- package/build/dist/Tests/Types/Name.test.js +0 -26
- package/build/dist/Tests/Types/Name.test.js.map +0 -1
- package/build/dist/Tests/Types/ObjectID.test.js +0 -12
- package/build/dist/Tests/Types/ObjectID.test.js.map +0 -1
- package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js +0 -530
- package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js.map +0 -1
- package/build/dist/Tests/Types/Permission.test.js +0 -99
- package/build/dist/Tests/Types/Permission.test.js.map +0 -1
- package/build/dist/Tests/Types/Phone.test.js +0 -37
- package/build/dist/Tests/Types/Phone.test.js.map +0 -1
- package/build/dist/Tests/Types/Port.test.js +0 -35
- package/build/dist/Tests/Types/Port.test.js.map +0 -1
- package/build/dist/Tests/Types/PositiveNumber.test.js +0 -101
- package/build/dist/Tests/Types/PositiveNumber.test.js.map +0 -1
- package/build/dist/Tests/Types/SecuritySeverity.test.js +0 -16
- package/build/dist/Tests/Types/SecuritySeverity.test.js.map +0 -1
- package/build/dist/Tests/Types/SerializableObject.test.js +0 -37
- package/build/dist/Tests/Types/SerializableObject.test.js.map +0 -1
- package/build/dist/Tests/Types/Sleep.test.js +0 -14
- package/build/dist/Tests/Types/Sleep.test.js.map +0 -1
- package/build/dist/Tests/Types/Text.test.js +0 -8
- package/build/dist/Tests/Types/Text.test.js.map +0 -1
- package/build/dist/Tests/Types/Timezone.test.js +0 -596
- package/build/dist/Tests/Types/Timezone.test.js.map +0 -1
- package/build/dist/Tests/Types/Typeof.test.js +0 -16
- package/build/dist/Tests/Types/Typeof.test.js.map +0 -1
- package/build/dist/Tests/Types/UserType.test.js +0 -16
- package/build/dist/Tests/Types/UserType.test.js.map +0 -1
- package/build/dist/Tests/Types/Version.test.js +0 -35
- package/build/dist/Tests/Types/Version.test.js.map +0 -1
- package/build/dist/Tests/Types/XML.test.js +0 -35
- package/build/dist/Tests/Types/XML.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/404.test.js +0 -59
- package/build/dist/Tests/UI/Components/404.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Alert.test.js +0 -83
- package/build/dist/Tests/UI/Components/Alert.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Badge.test.js +0 -59
- package/build/dist/Tests/UI/Components/Badge.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/BasicForm.test.js +0 -92
- package/build/dist/Tests/UI/Components/BasicForm.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Breadcrumbs.test.js +0 -69
- package/build/dist/Tests/UI/Components/Breadcrumbs.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Button.test.js +0 -104
- package/build/dist/Tests/UI/Components/Button.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Card.test.js +0 -81
- package/build/dist/Tests/UI/Components/Card.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/ColorViewer.test.js +0 -42
- package/build/dist/Tests/UI/Components/ColorViewer.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/ComponentsModal.test.js +0 -233
- package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/ConfirmModal.test.js +0 -57
- package/build/dist/Tests/UI/Components/ConfirmModal.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js +0 -84
- package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Dropdown.test.js +0 -146
- package/build/dist/Tests/UI/Components/Dropdown.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/DuplicateModel.test.js +0 -229
- package/build/dist/Tests/UI/Components/DuplicateModel.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js +0 -26
- package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/ErrorBoundary.test.js +0 -32
- package/build/dist/Tests/UI/Components/ErrorBoundary.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/FilePicker.test.js +0 -342
- package/build/dist/Tests/UI/Components/FilePicker.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/HiddenText.test.js +0 -50
- package/build/dist/Tests/UI/Components/HiddenText.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Input.test.js +0 -223
- package/build/dist/Tests/UI/Components/Input.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Item.test.js +0 -58
- package/build/dist/Tests/UI/Components/Item.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/List.test.js +0 -83
- package/build/dist/Tests/UI/Components/List.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Loader.test.js +0 -19
- package/build/dist/Tests/UI/Components/Loader.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/MarkdownEditor.test.js +0 -85
- package/build/dist/Tests/UI/Components/MarkdownEditor.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/MasterPage.test.js +0 -46
- package/build/dist/Tests/UI/Components/MasterPage.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Modal.test.js +0 -127
- package/build/dist/Tests/UI/Components/Modal.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/NavBar.test.js +0 -52
- package/build/dist/Tests/UI/Components/NavBar.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/OrderedStatesList.test.js +0 -86
- package/build/dist/Tests/UI/Components/OrderedStatesList.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Pagination.test.js +0 -137
- package/build/dist/Tests/UI/Components/Pagination.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Pill.test.js +0 -55
- package/build/dist/Tests/UI/Components/Pill.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Probe.test.js +0 -52
- package/build/dist/Tests/UI/Components/Probe.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/ProgressBar.test.js +0 -41
- package/build/dist/Tests/UI/Components/ProgressBar.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/RadioButtons.test.js +0 -66
- package/build/dist/Tests/UI/Components/RadioButtons.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/SideMenuItem.test.js +0 -99
- package/build/dist/Tests/UI/Components/SideMenuItem.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/SideOver.test.js +0 -77
- package/build/dist/Tests/UI/Components/SideOver.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Tabs.test.js +0 -56
- package/build/dist/Tests/UI/Components/Tabs.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Template/Template.test.js +0 -15
- package/build/dist/Tests/UI/Components/Template/Template.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/TextArea.test.js +0 -112
- package/build/dist/Tests/UI/Components/TextArea.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js +0 -352
- package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Toast.test.js +0 -48
- package/build/dist/Tests/UI/Components/Toast.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/Toggle.test.js +0 -95
- package/build/dist/Tests/UI/Components/Toggle.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/TopSection.test.js +0 -33
- package/build/dist/Tests/UI/Components/TopSection.test.js.map +0 -1
- package/build/dist/Tests/UI/Components/XAxis.test.js +0 -21
- package/build/dist/Tests/UI/Components/XAxis.test.js.map +0 -1
- package/build/dist/Tests/UI/Index.js +0 -2
- package/build/dist/Tests/UI/Index.js.map +0 -1
- package/build/dist/Tests/UI/Mocks/FileMock.js +0 -3
- package/build/dist/Tests/UI/Mocks/FileMock.js.map +0 -1
- package/build/dist/Tests/Utils/API.test.js +0 -399
- package/build/dist/Tests/Utils/API.test.js.map +0 -1
- package/build/dist/Tests/Utils/Analytics.test.js +0 -67
- package/build/dist/Tests/Utils/Analytics.test.js.map +0 -1
- package/build/dist/Tests/Utils/CronTime.test.js +0 -22
- package/build/dist/Tests/Utils/CronTime.test.js.map +0 -1
- package/build/dist/Tests/Utils/Faker.test.js +0 -27
- package/build/dist/Tests/Utils/Faker.test.js.map +0 -1
- package/build/dist/Tests/Utils/MetricUnitUtil.test.js +0 -187
- package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +0 -1
- package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +0 -224
- package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +0 -1
- package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +0 -180
- package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +0 -1
- package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +0 -142
- package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +0 -1
- package/build/dist/Tests/Utils/Slug.test.js +0 -20
- package/build/dist/Tests/Utils/Slug.test.js.map +0 -1
- package/build/dist/Tests/Utils/UUID.test.js +0 -48
- package/build/dist/Tests/Utils/UUID.test.js.map +0 -1
- package/build/dist/Tests/jest.setup.js +0 -30
- package/build/dist/Tests/jest.setup.js.map +0 -1
- package/build/dist/Types/Profile/ProfileMetricType.js +0 -17
- package/build/dist/Types/Profile/ProfileMetricType.js.map +0 -1
package/Tests/Utils/UUID.test.ts
CHANGED
|
@@ -3,6 +3,14 @@ import UUID from "../../Utils/UUID";
|
|
|
3
3
|
const UUID_V4_REGEX: RegExp =
|
|
4
4
|
/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
5
5
|
|
|
6
|
+
const UUID_V7_REGEX: RegExp =
|
|
7
|
+
/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
8
|
+
|
|
9
|
+
// First 12 hex chars (hyphen removed) = the 48-bit unix-ms timestamp prefix.
|
|
10
|
+
function timestampPrefixOf(uuid: string): number {
|
|
11
|
+
return parseInt(uuid.replace(/-/g, "").slice(0, 12), 16);
|
|
12
|
+
}
|
|
13
|
+
|
|
6
14
|
describe("UUID", () => {
|
|
7
15
|
test("UUID.generate() should generate a valid UUID", () => {
|
|
8
16
|
const uuid: string = UUID.generate();
|
|
@@ -11,6 +19,45 @@ describe("UUID", () => {
|
|
|
11
19
|
expect(uuid.length).toBe(36);
|
|
12
20
|
});
|
|
13
21
|
|
|
22
|
+
test("UUID.generateTimeOrdered() should generate a valid UUIDv7", () => {
|
|
23
|
+
const uuid: string = UUID.generateTimeOrdered();
|
|
24
|
+
expect(uuid).toMatch(UUID_V7_REGEX);
|
|
25
|
+
expect(uuid.length).toBe(36);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
test("UUID.generateTimeOrdered() prefix should encode the current unix-ms time", () => {
|
|
29
|
+
const before: number = Date.now();
|
|
30
|
+
const uuid: string = UUID.generateTimeOrdered();
|
|
31
|
+
const after: number = Date.now();
|
|
32
|
+
|
|
33
|
+
const prefix: number = timestampPrefixOf(uuid);
|
|
34
|
+
expect(prefix).toBeGreaterThanOrEqual(before);
|
|
35
|
+
expect(prefix).toBeLessThanOrEqual(after);
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
test("UUID.generateTimeOrdered() prefixes should be monotonically non-decreasing", async () => {
|
|
39
|
+
const first: string = UUID.generateTimeOrdered();
|
|
40
|
+
|
|
41
|
+
// Cross a millisecond boundary so the prefix strictly advances.
|
|
42
|
+
await new Promise((resolve: (value: unknown) => void) => {
|
|
43
|
+
setTimeout(resolve, 5);
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
const second: string = UUID.generateTimeOrdered();
|
|
47
|
+
|
|
48
|
+
expect(timestampPrefixOf(second)).toBeGreaterThan(timestampPrefixOf(first));
|
|
49
|
+
// Time-ordered ids sort lexicographically by generation time.
|
|
50
|
+
expect(second > first).toBe(true);
|
|
51
|
+
|
|
52
|
+
// Same burst: prefixes never go backwards.
|
|
53
|
+
let previous: number = timestampPrefixOf(UUID.generateTimeOrdered());
|
|
54
|
+
for (let i: number = 0; i < 100; i++) {
|
|
55
|
+
const current: number = timestampPrefixOf(UUID.generateTimeOrdered());
|
|
56
|
+
expect(current).toBeGreaterThanOrEqual(previous);
|
|
57
|
+
previous = current;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
14
61
|
test("UUID.generate() should fall back to getRandomValues when randomUUID is unavailable", () => {
|
|
15
62
|
const cryptoObj: Crypto = globalThis.crypto;
|
|
16
63
|
const originalRandomUUID: typeof cryptoObj.randomUUID =
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
enum AnalyticsTableName {
|
|
2
|
-
Log = "
|
|
3
|
-
Metric = "
|
|
4
|
-
ExceptionInstance = "
|
|
5
|
-
Span = "
|
|
6
|
-
MonitorLog = "
|
|
7
|
-
Profile = "
|
|
8
|
-
ProfileSample = "
|
|
9
|
-
AuditLog = "
|
|
2
|
+
Log = "LogItemV3",
|
|
3
|
+
Metric = "MetricItemV3",
|
|
4
|
+
ExceptionInstance = "ExceptionItemV3",
|
|
5
|
+
Span = "SpanItemV3",
|
|
6
|
+
MonitorLog = "MonitorLogV3",
|
|
7
|
+
Profile = "ProfileItemV3",
|
|
8
|
+
ProfileSample = "ProfileSampleItemV3",
|
|
9
|
+
AuditLog = "AuditLogV2",
|
|
10
10
|
/*
|
|
11
11
|
* Materialized-view target tables. These hold AggregateFunction
|
|
12
12
|
* states populated by attached MVs on the source `Metric` table.
|
|
@@ -14,7 +14,12 @@ enum AnalyticsTableName {
|
|
|
14
14
|
* named here (they aren't queried directly).
|
|
15
15
|
*/
|
|
16
16
|
MetricItemAggMV1m = "MetricItemAggMV1m",
|
|
17
|
-
|
|
17
|
+
/*
|
|
18
|
+
* Successor of MetricItemAggMV1mByHost (dropped by the
|
|
19
|
+
* RekeyMetricHostRollupToEntityKey migration), keyed by the stable
|
|
20
|
+
* hostEntityKey instead of the raw host.name spelling.
|
|
21
|
+
*/
|
|
22
|
+
MetricItemAggMV1mByHostV2 = "MetricItemAggMV1mByHostV2",
|
|
18
23
|
MetricBaselineHourly = "MetricBaselineHourly",
|
|
19
24
|
}
|
|
20
25
|
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import ObjectID from "../../ObjectID";
|
|
2
|
+
import DashboardComponentType from "../DashboardComponentType";
|
|
3
|
+
import BaseComponent from "./DashboardBaseComponent";
|
|
4
|
+
|
|
5
|
+
export default interface DashboardTraceChartComponent extends BaseComponent {
|
|
6
|
+
componentType: DashboardComponentType.TraceChart;
|
|
7
|
+
componentId: ObjectID;
|
|
8
|
+
arguments: {
|
|
9
|
+
title?: string | undefined;
|
|
10
|
+
/*
|
|
11
|
+
* Span aggregation to chart — one of the trace analytics metrics:
|
|
12
|
+
* count, errorCount, avgDuration, p50Duration, p90Duration,
|
|
13
|
+
* p95Duration, p99Duration, minDuration, maxDuration.
|
|
14
|
+
*/
|
|
15
|
+
metric?: string | undefined;
|
|
16
|
+
// Substring filter on span name (e.g. "/Shipment/ShipShipment").
|
|
17
|
+
spanNameContains?: string | undefined;
|
|
18
|
+
/*
|
|
19
|
+
* Attribute equality filters, ANDed — "key=value; key2=value2"
|
|
20
|
+
* (e.g. "url.host=torginol.starship.online").
|
|
21
|
+
*/
|
|
22
|
+
attributeFilters?: string | undefined;
|
|
23
|
+
/*
|
|
24
|
+
* Optional split dimension: a span attribute key (e.g. url.host,
|
|
25
|
+
* resource.service.instance.id) or a top-level column (name,
|
|
26
|
+
* primaryEntityId, statusCode, kind). One series per value.
|
|
27
|
+
*/
|
|
28
|
+
groupByAttribute?: string | undefined;
|
|
29
|
+
// Cap on the number of series when split (default 10).
|
|
30
|
+
topLimit?: number | undefined;
|
|
31
|
+
/*
|
|
32
|
+
* Include non-root spans. Off by default so "Request Count" matches the
|
|
33
|
+
* traces explorer, which is root-spans-only.
|
|
34
|
+
*/
|
|
35
|
+
includeChildSpans?: boolean | undefined;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
@@ -15,11 +15,10 @@ import { DashboardValueTrendDirection } from "./DashboardComponents/DashboardVal
|
|
|
15
15
|
|
|
16
16
|
/*
|
|
17
17
|
* Trace / Exception / Profiles entries are intentionally not in this
|
|
18
|
-
* enum: their metric catalogs (SpanMetricType, ExceptionMetricType
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* exist.
|
|
18
|
+
* enum: their metric catalogs (e.g. SpanMetricType, ExceptionMetricType)
|
|
19
|
+
* define names that are not emitted anywhere in the codebase, so the
|
|
20
|
+
* templates only ever rendered empty widgets. Reach for the Logs /
|
|
21
|
+
* Traces / Exceptions pages directly until those metrics exist.
|
|
23
22
|
*/
|
|
24
23
|
export enum DashboardTemplateType {
|
|
25
24
|
Blank = "Blank",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* - Field-specific: `severity:error` → severityText = 'error'
|
|
10
10
|
* - Attribute access: `@http.status_code:500` → attributes.http.status_code = '500'
|
|
11
11
|
* - Negation (prefix): `-severity:debug` → severityText != 'debug'
|
|
12
|
-
* - Wildcard: `service:api-*` →
|
|
12
|
+
* - Wildcard: `service:api-*` → primaryEntityId ILIKE 'api-%'
|
|
13
13
|
* - Numeric range: `@duration:>1000` → attributes.duration > 1000
|
|
14
14
|
* - Boolean: `severity:error AND service:api` (AND is default between tokens)
|
|
15
15
|
*
|
|
@@ -46,7 +46,7 @@ export interface ParsedToken {
|
|
|
46
46
|
const FIELD_ALIASES: Record<string, string> = {
|
|
47
47
|
severity: "severityText",
|
|
48
48
|
level: "severityText",
|
|
49
|
-
service: "
|
|
49
|
+
service: "primaryEntityId",
|
|
50
50
|
trace: "traceId",
|
|
51
51
|
span: "spanId",
|
|
52
52
|
message: "body",
|
|
@@ -19,7 +19,7 @@ import LessThanOrEqual from "../BaseDatabase/LessThanOrEqual";
|
|
|
19
19
|
export interface LogFilter {
|
|
20
20
|
body?: string | Search<string>;
|
|
21
21
|
severityText?: string;
|
|
22
|
-
|
|
22
|
+
primaryEntityId?: string;
|
|
23
23
|
traceId?: string;
|
|
24
24
|
spanId?: string;
|
|
25
25
|
attributes?: Record<string, unknown>;
|
|
@@ -28,7 +28,7 @@ export interface LogFilter {
|
|
|
28
28
|
|
|
29
29
|
const TOP_LEVEL_FIELDS: Set<string> = new Set([
|
|
30
30
|
"severityText",
|
|
31
|
-
"
|
|
31
|
+
"primaryEntityId",
|
|
32
32
|
"traceId",
|
|
33
33
|
"spanId",
|
|
34
34
|
"body",
|
|
@@ -9,6 +9,13 @@ import ObjectID from "../ObjectID";
|
|
|
9
9
|
|
|
10
10
|
export default interface MonitorStepExceptionMonitor {
|
|
11
11
|
telemetryServiceIds: Array<ObjectID>;
|
|
12
|
+
/*
|
|
13
|
+
* Stable telemetry entity keys (host / pod / container / ...) — scopes
|
|
14
|
+
* the monitor to exceptions carrying any of these in their entityKeys
|
|
15
|
+
* column. Optional: monitors saved before this field existed have it
|
|
16
|
+
* undefined.
|
|
17
|
+
*/
|
|
18
|
+
entityKeys?: Array<string> | undefined;
|
|
12
19
|
exceptionTypes: Array<string>;
|
|
13
20
|
message: string;
|
|
14
21
|
includeResolved: boolean;
|
|
@@ -26,11 +33,19 @@ export class MonitorStepExceptionMonitorUtil {
|
|
|
26
33
|
monitorStepExceptionMonitor.telemetryServiceIds &&
|
|
27
34
|
monitorStepExceptionMonitor.telemetryServiceIds.length > 0
|
|
28
35
|
) {
|
|
29
|
-
query.
|
|
36
|
+
query.primaryEntityId = new Includes(
|
|
30
37
|
monitorStepExceptionMonitor.telemetryServiceIds,
|
|
31
38
|
);
|
|
32
39
|
}
|
|
33
40
|
|
|
41
|
+
// Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
|
|
42
|
+
if (
|
|
43
|
+
monitorStepExceptionMonitor.entityKeys &&
|
|
44
|
+
monitorStepExceptionMonitor.entityKeys.length > 0
|
|
45
|
+
) {
|
|
46
|
+
query.entityKeys = new Includes(monitorStepExceptionMonitor.entityKeys);
|
|
47
|
+
}
|
|
48
|
+
|
|
34
49
|
if (
|
|
35
50
|
monitorStepExceptionMonitor.exceptionTypes &&
|
|
36
51
|
monitorStepExceptionMonitor.exceptionTypes.length > 0
|
|
@@ -59,6 +74,7 @@ export class MonitorStepExceptionMonitorUtil {
|
|
|
59
74
|
public static getDefault(): MonitorStepExceptionMonitor {
|
|
60
75
|
return {
|
|
61
76
|
telemetryServiceIds: [],
|
|
77
|
+
entityKeys: [],
|
|
62
78
|
exceptionTypes: [],
|
|
63
79
|
message: "",
|
|
64
80
|
includeResolved: false,
|
|
@@ -72,6 +88,7 @@ export class MonitorStepExceptionMonitorUtil {
|
|
|
72
88
|
telemetryServiceIds: ObjectID.fromJSONArray(
|
|
73
89
|
(json["telemetryServiceIds"] as Array<JSONObject>) || [],
|
|
74
90
|
),
|
|
91
|
+
entityKeys: (json["entityKeys"] as Array<string>) || [],
|
|
75
92
|
exceptionTypes: (json["exceptionTypes"] as Array<string>) || [],
|
|
76
93
|
message: (json["message"] as string) || "",
|
|
77
94
|
includeResolved: Boolean(json["includeResolved"]) || false,
|
|
@@ -84,6 +101,7 @@ export class MonitorStepExceptionMonitorUtil {
|
|
|
84
101
|
public static toJSON(monitor: MonitorStepExceptionMonitor): JSONObject {
|
|
85
102
|
return {
|
|
86
103
|
telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
|
|
104
|
+
entityKeys: monitor.entityKeys || [],
|
|
87
105
|
exceptionTypes: monitor.exceptionTypes,
|
|
88
106
|
message: monitor.message,
|
|
89
107
|
includeResolved: monitor.includeResolved,
|
|
@@ -14,6 +14,12 @@ export default interface MonitorStepLogMonitor {
|
|
|
14
14
|
body: string;
|
|
15
15
|
severityTexts: Array<LogSeverity>;
|
|
16
16
|
telemetryServiceIds: Array<ObjectID>;
|
|
17
|
+
/*
|
|
18
|
+
* Stable telemetry entity keys (host / pod / container / ...) — scopes
|
|
19
|
+
* the monitor to logs carrying any of these in their entityKeys column.
|
|
20
|
+
* Optional: monitors saved before this field existed have it undefined.
|
|
21
|
+
*/
|
|
22
|
+
entityKeys?: Array<string> | undefined;
|
|
17
23
|
lastXSecondsOfLogs: number;
|
|
18
24
|
}
|
|
19
25
|
|
|
@@ -27,7 +33,17 @@ export class MonitorStepLogMonitorUtil {
|
|
|
27
33
|
monitorStepLogMonitor.telemetryServiceIds &&
|
|
28
34
|
monitorStepLogMonitor.telemetryServiceIds.length > 0
|
|
29
35
|
) {
|
|
30
|
-
query.
|
|
36
|
+
query.primaryEntityId = new Includes(
|
|
37
|
+
monitorStepLogMonitor.telemetryServiceIds,
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
|
|
42
|
+
if (
|
|
43
|
+
monitorStepLogMonitor.entityKeys &&
|
|
44
|
+
monitorStepLogMonitor.entityKeys.length > 0
|
|
45
|
+
) {
|
|
46
|
+
query.entityKeys = new Includes(monitorStepLogMonitor.entityKeys);
|
|
31
47
|
}
|
|
32
48
|
|
|
33
49
|
if (
|
|
@@ -66,6 +82,7 @@ export class MonitorStepLogMonitorUtil {
|
|
|
66
82
|
body: "",
|
|
67
83
|
severityTexts: [],
|
|
68
84
|
telemetryServiceIds: [],
|
|
85
|
+
entityKeys: [],
|
|
69
86
|
lastXSecondsOfLogs: 60,
|
|
70
87
|
};
|
|
71
88
|
}
|
|
@@ -79,6 +96,7 @@ export class MonitorStepLogMonitorUtil {
|
|
|
79
96
|
telemetryServiceIds: ObjectID.fromJSONArray(
|
|
80
97
|
json["telemetryServiceIds"] as Array<JSONObject>,
|
|
81
98
|
),
|
|
99
|
+
entityKeys: (json["entityKeys"] as Array<string>) || [],
|
|
82
100
|
lastXSecondsOfLogs: json["lastXSecondsOfLogs"] as number,
|
|
83
101
|
};
|
|
84
102
|
}
|
|
@@ -89,6 +107,7 @@ export class MonitorStepLogMonitorUtil {
|
|
|
89
107
|
body: monitor.body,
|
|
90
108
|
severityTexts: monitor.severityTexts,
|
|
91
109
|
telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
|
|
110
|
+
entityKeys: monitor.entityKeys || [],
|
|
92
111
|
lastXSecondsOfLogs: monitor.lastXSecondsOfLogs,
|
|
93
112
|
};
|
|
94
113
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import Metric from "../../Models/AnalyticsModels/Metric";
|
|
2
|
+
import Includes from "../BaseDatabase/Includes";
|
|
3
|
+
import Query from "../BaseDatabase/Query";
|
|
1
4
|
import { JSONObject } from "../JSON";
|
|
2
5
|
import MetricsViewConfig from "../Metrics/MetricsViewConfig";
|
|
3
6
|
import RollingTime from "../RollingTime/RollingTime";
|
|
@@ -5,6 +8,13 @@ import RollingTime from "../RollingTime/RollingTime";
|
|
|
5
8
|
export default interface MonitorStepMetricMonitor {
|
|
6
9
|
metricViewConfig: MetricsViewConfig;
|
|
7
10
|
rollingTime: RollingTime;
|
|
11
|
+
/*
|
|
12
|
+
* Stable telemetry entity keys (host / pod / container / ...) — scopes
|
|
13
|
+
* every metric query in this step to rows carrying any of these in their
|
|
14
|
+
* entityKeys column. Optional: monitors saved before this field existed
|
|
15
|
+
* have it undefined.
|
|
16
|
+
*/
|
|
17
|
+
entityKeys?: Array<string> | undefined;
|
|
8
18
|
}
|
|
9
19
|
|
|
10
20
|
export class MonitorStepMetricMonitorUtil {
|
|
@@ -15,9 +25,26 @@ export class MonitorStepMetricMonitorUtil {
|
|
|
15
25
|
formulaConfigs: [],
|
|
16
26
|
},
|
|
17
27
|
rollingTime: RollingTime.Past1Minute,
|
|
28
|
+
entityKeys: [],
|
|
18
29
|
};
|
|
19
30
|
}
|
|
20
31
|
|
|
32
|
+
/*
|
|
33
|
+
* Stamps the step's entity scope onto a per-queryConfig Query<Metric>.
|
|
34
|
+
* Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is
|
|
35
|
+
* a no-op so monitors saved before the field existed are unaffected.
|
|
36
|
+
*/
|
|
37
|
+
public static applyEntityScopeToQuery(
|
|
38
|
+
query: Query<Metric>,
|
|
39
|
+
monitor: MonitorStepMetricMonitor,
|
|
40
|
+
): Query<Metric> {
|
|
41
|
+
if (monitor.entityKeys && monitor.entityKeys.length > 0) {
|
|
42
|
+
query.entityKeys = new Includes(monitor.entityKeys);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return query;
|
|
46
|
+
}
|
|
47
|
+
|
|
21
48
|
public static fromJSON(json: JSONObject): MonitorStepMetricMonitor {
|
|
22
49
|
return json as any as MonitorStepMetricMonitor;
|
|
23
50
|
}
|
|
@@ -12,6 +12,13 @@ export default interface MonitorStepProfileMonitor {
|
|
|
12
12
|
attributes: Dictionary<string | number | boolean>;
|
|
13
13
|
profileTypes: Array<string>;
|
|
14
14
|
telemetryServiceIds: Array<ObjectID>;
|
|
15
|
+
/*
|
|
16
|
+
* Stable telemetry entity keys (host / pod / container / ...) — scopes
|
|
17
|
+
* the monitor to profiles carrying any of these in their entityKeys
|
|
18
|
+
* column. Optional: monitors saved before this field existed have it
|
|
19
|
+
* undefined.
|
|
20
|
+
*/
|
|
21
|
+
entityKeys?: Array<string> | undefined;
|
|
15
22
|
lastXSecondsOfProfiles: number;
|
|
16
23
|
profileType: string;
|
|
17
24
|
}
|
|
@@ -26,11 +33,19 @@ export class MonitorStepProfileMonitorUtil {
|
|
|
26
33
|
monitorStepProfileMonitor.telemetryServiceIds &&
|
|
27
34
|
monitorStepProfileMonitor.telemetryServiceIds.length > 0
|
|
28
35
|
) {
|
|
29
|
-
query.
|
|
36
|
+
query.primaryEntityId = new Includes(
|
|
30
37
|
monitorStepProfileMonitor.telemetryServiceIds,
|
|
31
38
|
);
|
|
32
39
|
}
|
|
33
40
|
|
|
41
|
+
// Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
|
|
42
|
+
if (
|
|
43
|
+
monitorStepProfileMonitor.entityKeys &&
|
|
44
|
+
monitorStepProfileMonitor.entityKeys.length > 0
|
|
45
|
+
) {
|
|
46
|
+
query.entityKeys = new Includes(monitorStepProfileMonitor.entityKeys);
|
|
47
|
+
}
|
|
48
|
+
|
|
34
49
|
if (
|
|
35
50
|
monitorStepProfileMonitor.attributes &&
|
|
36
51
|
Object.keys(monitorStepProfileMonitor.attributes).length > 0
|
|
@@ -67,6 +82,7 @@ export class MonitorStepProfileMonitorUtil {
|
|
|
67
82
|
profileType: "",
|
|
68
83
|
profileTypes: [],
|
|
69
84
|
telemetryServiceIds: [],
|
|
85
|
+
entityKeys: [],
|
|
70
86
|
lastXSecondsOfProfiles: 60,
|
|
71
87
|
};
|
|
72
88
|
}
|
|
@@ -80,6 +96,7 @@ export class MonitorStepProfileMonitorUtil {
|
|
|
80
96
|
telemetryServiceIds: ObjectID.fromJSONArray(
|
|
81
97
|
json["telemetryServiceIds"] as Array<JSONObject>,
|
|
82
98
|
),
|
|
99
|
+
entityKeys: (json["entityKeys"] as Array<string>) || [],
|
|
83
100
|
lastXSecondsOfProfiles: json["lastXSecondsOfProfiles"] as number,
|
|
84
101
|
};
|
|
85
102
|
}
|
|
@@ -90,6 +107,7 @@ export class MonitorStepProfileMonitorUtil {
|
|
|
90
107
|
profileType: monitor.profileType,
|
|
91
108
|
profileTypes: monitor.profileTypes,
|
|
92
109
|
telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
|
|
110
|
+
entityKeys: monitor.entityKeys || [],
|
|
93
111
|
lastXSecondsOfProfiles: monitor.lastXSecondsOfProfiles,
|
|
94
112
|
};
|
|
95
113
|
}
|
|
@@ -12,6 +12,12 @@ export default interface MonitorStepTraceMonitor {
|
|
|
12
12
|
attributes: Dictionary<string | number | boolean>;
|
|
13
13
|
spanStatuses: Array<SpanStatus>;
|
|
14
14
|
telemetryServiceIds: Array<ObjectID>;
|
|
15
|
+
/*
|
|
16
|
+
* Stable telemetry entity keys (host / pod / container / ...) — scopes
|
|
17
|
+
* the monitor to spans carrying any of these in their entityKeys column.
|
|
18
|
+
* Optional: monitors saved before this field existed have it undefined.
|
|
19
|
+
*/
|
|
20
|
+
entityKeys?: Array<string> | undefined;
|
|
15
21
|
lastXSecondsOfSpans: number;
|
|
16
22
|
spanName: string;
|
|
17
23
|
}
|
|
@@ -26,11 +32,19 @@ export class MonitorStepTraceMonitorUtil {
|
|
|
26
32
|
monitorStepTraceMonitor.telemetryServiceIds &&
|
|
27
33
|
monitorStepTraceMonitor.telemetryServiceIds.length > 0
|
|
28
34
|
) {
|
|
29
|
-
query.
|
|
35
|
+
query.primaryEntityId = new Includes(
|
|
30
36
|
monitorStepTraceMonitor.telemetryServiceIds,
|
|
31
37
|
);
|
|
32
38
|
}
|
|
33
39
|
|
|
40
|
+
// Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
|
|
41
|
+
if (
|
|
42
|
+
monitorStepTraceMonitor.entityKeys &&
|
|
43
|
+
monitorStepTraceMonitor.entityKeys.length > 0
|
|
44
|
+
) {
|
|
45
|
+
query.entityKeys = new Includes(monitorStepTraceMonitor.entityKeys);
|
|
46
|
+
}
|
|
47
|
+
|
|
34
48
|
if (
|
|
35
49
|
monitorStepTraceMonitor.attributes &&
|
|
36
50
|
Object.keys(monitorStepTraceMonitor.attributes).length > 0
|
|
@@ -67,6 +81,7 @@ export class MonitorStepTraceMonitorUtil {
|
|
|
67
81
|
spanName: "",
|
|
68
82
|
spanStatuses: [],
|
|
69
83
|
telemetryServiceIds: [],
|
|
84
|
+
entityKeys: [],
|
|
70
85
|
lastXSecondsOfSpans: 60,
|
|
71
86
|
};
|
|
72
87
|
}
|
|
@@ -80,6 +95,7 @@ export class MonitorStepTraceMonitorUtil {
|
|
|
80
95
|
telemetryServiceIds: ObjectID.fromJSONArray(
|
|
81
96
|
json["telemetryServiceIds"] as Array<JSONObject>,
|
|
82
97
|
),
|
|
98
|
+
entityKeys: (json["entityKeys"] as Array<string>) || [],
|
|
83
99
|
lastXSecondsOfSpans: json["lastXSecondsOfSpans"] as number,
|
|
84
100
|
};
|
|
85
101
|
}
|
|
@@ -90,6 +106,7 @@ export class MonitorStepTraceMonitorUtil {
|
|
|
90
106
|
spanName: monitor.spanName,
|
|
91
107
|
spanStatuses: monitor.spanStatuses,
|
|
92
108
|
telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
|
|
109
|
+
entityKeys: monitor.entityKeys || [],
|
|
93
110
|
lastXSecondsOfSpans: monitor.lastXSecondsOfSpans,
|
|
94
111
|
};
|
|
95
112
|
}
|
|
@@ -106,7 +106,14 @@ export class MonitorTypeHelper {
|
|
|
106
106
|
MonitorType.Metrics,
|
|
107
107
|
MonitorType.Traces,
|
|
108
108
|
MonitorType.Exceptions,
|
|
109
|
-
|
|
109
|
+
/*
|
|
110
|
+
* MonitorType.Profiles is intentionally not offered here: the
|
|
111
|
+
* dashboard has no configuration form for the profile monitor
|
|
112
|
+
* step, so a Profiles monitor created from this picker would have
|
|
113
|
+
* no profileMonitor config and could never evaluate. Existing
|
|
114
|
+
* Profiles monitors keep working — the enum value, its props in
|
|
115
|
+
* getAllMonitorTypeProps, and worker-side evaluation all remain.
|
|
116
|
+
*/
|
|
110
117
|
],
|
|
111
118
|
},
|
|
112
119
|
{
|
package/Types/ObjectID.ts
CHANGED
|
@@ -52,6 +52,16 @@ export default class ObjectID extends DatabaseProperty {
|
|
|
52
52
|
return new this(UUID.generate());
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Time-ordered id (RFC 9562 UUIDv7: 48-bit unix-ms prefix + random).
|
|
57
|
+
* Use for analytics-row `_id`s — time-ordered ids cluster ClickHouse
|
|
58
|
+
* inserts and compress dramatically better than random v4 UUIDs.
|
|
59
|
+
* Postgres entity ids keep using `generate()` (random v4).
|
|
60
|
+
*/
|
|
61
|
+
public static generateTimeOrdered(): ObjectID {
|
|
62
|
+
return new this(UUID.generateTimeOrdered());
|
|
63
|
+
}
|
|
64
|
+
|
|
55
65
|
public static toJSONArray(ids: Array<ObjectID>): Array<JSONObject> {
|
|
56
66
|
if (!ids || ids.length === 0) {
|
|
57
67
|
return [];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The relationship taxonomy between OpenTelemetry entities. The upstream
|
|
3
|
+
* OTel spec deliberately leaves entity relationships unstandardized
|
|
4
|
+
* ("refined in future specification work"), so OneUptime infers a small,
|
|
5
|
+
* durable set of directed relationships from resource co-occurrence — the
|
|
6
|
+
* entities that appear together in one resource are, by construction,
|
|
7
|
+
* related. See Internal/Docs/OpenTelemetryEntities.md §4.
|
|
8
|
+
*/
|
|
9
|
+
enum EntityRelationshipType {
|
|
10
|
+
/** e.g. a pod runs on a node; a process runs on a host. */
|
|
11
|
+
RunsOn = "runs-on",
|
|
12
|
+
/** e.g. a pod / node / namespace is a member of a cluster. */
|
|
13
|
+
MemberOf = "member-of",
|
|
14
|
+
/** e.g. a service is hosted on a host. */
|
|
15
|
+
HostedOn = "hosted-on",
|
|
16
|
+
/** e.g. a container is part of a pod; a process is part of a container. */
|
|
17
|
+
PartOf = "part-of",
|
|
18
|
+
/** e.g. a service.instance is an instance of a service. */
|
|
19
|
+
InstanceOf = "instance-of",
|
|
20
|
+
/**
|
|
21
|
+
* Service → service dependency (the service map; the resurrected
|
|
22
|
+
* ServiceDependency capability). Unlike the co-occurrence types above,
|
|
23
|
+
* this is NOT inferred from one resource's entity set — caller and
|
|
24
|
+
* callee never share a resource. It is derived from parent/child span
|
|
25
|
+
* pairs that cross a service boundary (see the
|
|
26
|
+
* TelemetryEntity:ComputeServiceDependencies worker cron).
|
|
27
|
+
*/
|
|
28
|
+
DependsOn = "depends-on",
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default EntityRelationshipType;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The vocabulary of OpenTelemetry-aligned entity types OneUptime can
|
|
3
|
+
* derive from a resource. One OTLP resource is a *composition* of many
|
|
4
|
+
* entities — a span can simultaneously belong to a `service`, a `host`,
|
|
5
|
+
* a `k8s.pod`, a `k8s.node`, a `k8s.cluster`, a `container` and a
|
|
6
|
+
* `process`. Each value is the entity's immutable `type` per the OTel
|
|
7
|
+
* entity data model (https://opentelemetry.io/docs/specs/otel/entities/).
|
|
8
|
+
*
|
|
9
|
+
* This is the broader *membership* vocabulary used by the `entityKeys`
|
|
10
|
+
* column on signals and by the `TelemetryEntity` registry. It is distinct
|
|
11
|
+
* from `ServiceType`, which is the narrower discriminator for a signal's
|
|
12
|
+
* single *primary* entity (`primaryEntityType`) and additionally covers
|
|
13
|
+
* OneUptime-specific primary owners (Monitor, RealUserMonitor, Unknown,
|
|
14
|
+
* ...) that are not OTel resource entities.
|
|
15
|
+
*
|
|
16
|
+
* The string values are the semconv-style dotted type names so they read
|
|
17
|
+
* naturally in stored identity sets and in the registry.
|
|
18
|
+
*/
|
|
19
|
+
enum EntityType {
|
|
20
|
+
Service = "service",
|
|
21
|
+
ServiceInstance = "service.instance",
|
|
22
|
+
Host = "host",
|
|
23
|
+
Container = "container",
|
|
24
|
+
Process = "process",
|
|
25
|
+
KubernetesCluster = "k8s.cluster",
|
|
26
|
+
KubernetesNamespace = "k8s.namespace",
|
|
27
|
+
KubernetesNode = "k8s.node",
|
|
28
|
+
KubernetesPod = "k8s.pod",
|
|
29
|
+
KubernetesDeployment = "k8s.deployment",
|
|
30
|
+
TelemetrySdk = "telemetry.sdk",
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default EntityType;
|
|
@@ -23,4 +23,6 @@ export default interface TelemetrySavedViewState {
|
|
|
23
23
|
timeRange?: TelemetrySavedViewTimeRange | undefined;
|
|
24
24
|
// Rows per page.
|
|
25
25
|
pageSize?: number | undefined;
|
|
26
|
+
// Traces explorer: root-spans-only toggle (defaults to true when absent).
|
|
27
|
+
rootOnly?: boolean | undefined;
|
|
26
28
|
}
|
package/Types/Text.ts
CHANGED
|
@@ -12,6 +12,40 @@ export default class Text {
|
|
|
12
12
|
return hex;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Matches an OTLP id already in hex form: 16 chars (8-byte span id)
|
|
17
|
+
* or 32 chars (16-byte trace/profile id).
|
|
18
|
+
*/
|
|
19
|
+
private static readonly OTLP_HEX_ID_REGEX: RegExp =
|
|
20
|
+
/^(?:[0-9a-fA-F]{16}|[0-9a-fA-F]{32})$/;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Convert an OTLP wire id (trace / span / profile id) to lowercase hex.
|
|
24
|
+
*
|
|
25
|
+
* OTLP/protobuf carries ids as bytes, which protobuf decoders render
|
|
26
|
+
* as base64 strings — but OTLP/JSON carries the SAME fields as hex
|
|
27
|
+
* strings (32 chars for trace ids, 16 for span ids). Hex strings also
|
|
28
|
+
* satisfy the base64 alphabet, so feeding them to convertBase64ToHex
|
|
29
|
+
* would silently decode them into garbage bytes. Length disambiguates
|
|
30
|
+
* safely: the base64 form of an 8/16-byte id is always 12/24 chars,
|
|
31
|
+
* so a 16- or 32-char hex-only string can never be a base64 id.
|
|
32
|
+
*/
|
|
33
|
+
public static convertOtlpIdToHex(value: string | undefined): string {
|
|
34
|
+
if (!value) {
|
|
35
|
+
return "";
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
if (Text.OTLP_HEX_ID_REGEX.test(value)) {
|
|
39
|
+
return value.toLowerCase();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
return Text.convertBase64ToHex(value);
|
|
44
|
+
} catch {
|
|
45
|
+
return "";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
15
49
|
public static getLetterFromAByNumber(number: number): string {
|
|
16
50
|
return String.fromCharCode("a".charCodeAt(0) + number);
|
|
17
51
|
}
|
|
@@ -8,6 +8,7 @@ enum TraceAggregationType {
|
|
|
8
8
|
ErrorCount = "ErrorCount",
|
|
9
9
|
AvgDurationSeconds = "AvgDurationSeconds",
|
|
10
10
|
P50DurationSeconds = "P50DurationSeconds",
|
|
11
|
+
P90DurationSeconds = "P90DurationSeconds",
|
|
11
12
|
P95DurationSeconds = "P95DurationSeconds",
|
|
12
13
|
P99DurationSeconds = "P99DurationSeconds",
|
|
13
14
|
MaxDurationSeconds = "MaxDurationSeconds",
|