@oneuptime/common 10.0.39 → 10.0.40
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/Index.ts +4 -0
- package/Models/AnalyticsModels/Profile.ts +687 -0
- package/Models/AnalyticsModels/ProfileSample.ts +547 -0
- package/Models/DatabaseModels/Dashboard.ts +357 -0
- package/Models/DatabaseModels/DashboardDomain.ts +658 -0
- package/Models/DatabaseModels/Index.ts +2 -0
- package/Models/DatabaseModels/StatusPage.ts +41 -0
- package/Server/API/DashboardAPI.ts +408 -0
- package/Server/API/DashboardDomainAPI.ts +235 -0
- package/Server/API/StatusPageAPI.ts +36 -2
- package/Server/API/TelemetryAPI.ts +393 -0
- package/Server/EnvironmentConfig.ts +12 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.ts +97 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.ts +50 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.ts +59 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
- package/Server/Middleware/UserAuthorization.ts +96 -1
- package/Server/Services/DashboardDomainService.ts +647 -0
- package/Server/Services/DashboardService.ts +174 -3
- package/Server/Services/IncidentService.ts +295 -50
- package/Server/Services/IncidentStateTimelineService.ts +1 -0
- package/Server/Services/Index.ts +6 -0
- package/Server/Services/MonitorService.ts +5 -0
- package/Server/Services/ProfileAggregationService.ts +559 -0
- package/Server/Services/ProfileSampleService.ts +11 -0
- package/Server/Services/ProfileService.ts +11 -0
- package/Server/Services/TelemetryUsageBillingService.ts +77 -3
- package/Server/Services/WorkspaceNotificationSummaryService.ts +15 -1
- package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +9 -0
- package/Server/Utils/Cookie.ts +48 -0
- package/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.ts +34 -0
- package/Server/Utils/Monitor/DataToProcess.ts +3 -1
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +299 -0
- package/Server/Utils/Profile/PprofEncoder.ts +225 -0
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +53 -16
- package/Server/Utils/Workspace/Slack/Slack.ts +26 -6
- package/ServiceRoute.ts +2 -0
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +2 -0
- package/Types/CookieName.ts +1 -0
- package/Types/Dashboard/Chart/ChartType.ts +5 -0
- package/Types/Dashboard/DashboardComponentType.ts +4 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +10 -0
- package/Types/Dashboard/DashboardComponents/DashboardChartComponent.ts +1 -2
- package/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.ts +17 -0
- package/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.ts +15 -0
- package/Types/Dashboard/DashboardComponents/DashboardTableComponent.ts +14 -0
- package/Types/Dashboard/DashboardComponents/DashboardTextComponent.ts +1 -0
- package/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.ts +13 -0
- package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +2 -0
- package/Types/Dashboard/DashboardTemplates.ts +964 -0
- package/Types/Dashboard/DashboardVariable.ts +23 -0
- package/Types/Dashboard/DashboardViewConfig.ts +59 -0
- package/Types/Dashboard/MasterPassword.ts +10 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/Incident/IncidentMetricType.ts +3 -0
- package/Types/MeteredPlan/ProductType.ts +1 -0
- package/Types/Metrics/MetricQueryConfigData.ts +3 -0
- package/Types/Monitor/CriteriaFilter.ts +3 -0
- package/Types/Monitor/KubernetesAlertTemplates.ts +78 -7
- package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +20 -0
- package/Types/Monitor/MonitorStep.ts +25 -0
- package/Types/Monitor/MonitorStepProfileMonitor.ts +96 -0
- package/Types/Monitor/MonitorType.ts +11 -0
- package/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.ts +12 -0
- package/Types/Permission.ts +87 -0
- package/Types/Telemetry/TelemetryType.ts +1 -0
- package/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.ts +1 -0
- package/UI/Components/Button/Button.tsx +1 -1
- package/UI/Components/Card/Card.tsx +8 -4
- package/UI/Components/Charts/Area/AreaChart.tsx +4 -0
- package/UI/Components/Charts/Bar/BarChart.tsx +4 -0
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +26 -0
- package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +26 -0
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +26 -0
- package/UI/Components/Charts/Line/LineChart.tsx +4 -0
- package/UI/Components/Charts/Types/ReferenceLineProps.ts +6 -0
- package/UI/Components/Icon/Icon.tsx +33 -0
- package/UI/Components/ModelTable/BaseModelTable.tsx +13 -10
- package/UI/Components/MoreMenu/MoreMenu.tsx +15 -2
- package/UI/Components/MoreMenu/MoreMenuItem.tsx +4 -4
- package/UI/Components/Workflow/Component.tsx +450 -209
- package/UI/Components/Workflow/ComponentPortViewer.tsx +57 -20
- package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +65 -25
- package/UI/Components/Workflow/ComponentSettingsModal.tsx +202 -37
- package/UI/Components/Workflow/ComponentsModal.tsx +180 -93
- package/UI/Components/Workflow/Workflow.tsx +105 -9
- package/UI/Config.ts +9 -0
- package/Utils/Dashboard/Components/DashboardChartComponent.ts +53 -22
- package/Utils/Dashboard/Components/DashboardGaugeComponent.ts +124 -0
- package/Utils/Dashboard/Components/DashboardLogStreamComponent.ts +110 -0
- package/Utils/Dashboard/Components/DashboardTableComponent.ts +86 -0
- package/Utils/Dashboard/Components/DashboardTextComponent.ts +32 -7
- package/Utils/Dashboard/Components/DashboardTraceListComponent.ts +86 -0
- package/Utils/Dashboard/Components/DashboardValueComponent.ts +39 -3
- package/Utils/Dashboard/Components/Index.ts +28 -0
- package/Utils/ValueFormatter.ts +170 -0
- package/build/dist/Models/AnalyticsModels/Index.js +4 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/Profile.js +621 -0
- package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/ProfileSample.js +497 -0
- package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Dashboard.js +365 -0
- package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DashboardDomain.js +691 -0
- package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Index.js +2 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPage.js +42 -0
- package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +293 -0
- package/build/dist/Server/API/DashboardAPI.js.map +1 -0
- package/build/dist/Server/API/DashboardDomainAPI.js +124 -0
- package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -0
- package/build/dist/Server/API/StatusPageAPI.js +26 -2
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +222 -0
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +4 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js +23 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/UserAuthorization.js +41 -0
- package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
- package/build/dist/Server/Services/DashboardDomainService.js +595 -0
- package/build/dist/Server/Services/DashboardDomainService.js.map +1 -0
- package/build/dist/Server/Services/DashboardService.js +117 -3
- package/build/dist/Server/Services/DashboardService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +231 -55
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentStateTimelineService.js +1 -1
- package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +6 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +5 -2
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/ProfileAggregationService.js +356 -0
- package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -0
- package/build/dist/Server/Services/ProfileSampleService.js +9 -0
- package/build/dist/Server/Services/ProfileSampleService.js.map +1 -0
- package/build/dist/Server/Services/ProfileService.js +9 -0
- package/build/dist/Server/Services/ProfileService.js.map +1 -0
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +61 -4
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +13 -1
- package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +8 -0
- package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
- package/build/dist/Server/Utils/Cookie.js +36 -0
- package/build/dist/Server/Utils/Cookie.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js +34 -0
- package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +173 -0
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Profile/PprofEncoder.js +129 -0
- package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -0
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +36 -14
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js +23 -6
- package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
- package/build/dist/ServiceRoute.js +1 -0
- package/build/dist/ServiceRoute.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +2 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/CookieName.js +1 -0
- package/build/dist/Types/CookieName.js.map +1 -1
- package/build/dist/Types/Dashboard/Chart/ChartType.js +5 -0
- package/build/dist/Types/Dashboard/Chart/ChartType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponentType.js +4 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +853 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardVariable.js +7 -0
- package/build/dist/Types/Dashboard/DashboardVariable.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardViewConfig.js +50 -1
- package/build/dist/Types/Dashboard/DashboardViewConfig.js.map +1 -1
- package/build/dist/Types/Dashboard/MasterPassword.js +5 -0
- package/build/dist/Types/Dashboard/MasterPassword.js.map +1 -0
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Incident/IncidentMetricType.js +3 -0
- package/build/dist/Types/Incident/IncidentMetricType.js.map +1 -1
- package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
- package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
- package/build/dist/Types/Metrics/MetricQueryConfigData.js +1 -0
- package/build/dist/Types/Metrics/MetricQueryConfigData.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +58 -7
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +15 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +59 -0
- package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorType.js +10 -0
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js +2 -0
- package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js.map +1 -0
- package/build/dist/Types/Permission.js +75 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Telemetry/TelemetryType.js +1 -0
- package/build/dist/Types/Telemetry/TelemetryType.js.map +1 -1
- package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js +1 -0
- package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js.map +1 -1
- package/build/dist/UI/Components/Button/Button.js +1 -1
- package/build/dist/UI/Components/Button/Button.js.map +1 -1
- package/build/dist/UI/Components/Card/Card.js +4 -4
- package/build/dist/UI/Components/Card/Card.js.map +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -2
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +5 -2
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +6 -3
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js +2 -0
- package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js.map +1 -0
- package/build/dist/UI/Components/Icon/Icon.js +11 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -9
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js +8 -2
- package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
- package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +4 -4
- package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
- package/build/dist/UI/Components/Workflow/Component.js +311 -143
- package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +44 -18
- package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +48 -22
- package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +127 -21
- package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentsModal.js +107 -52
- package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/Workflow.js +87 -12
- package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
- package/build/dist/UI/Config.js +3 -1
- package/build/dist/UI/Config.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js +50 -21
- package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js +104 -0
- package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js +91 -0
- package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js +70 -0
- package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js +28 -7
- package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js +70 -0
- package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +34 -3
- package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/ValueFormatter.js +132 -0
- package/build/dist/Utils/ValueFormatter.js.map +1 -0
- package/package.json +1 -1
|
@@ -11,6 +11,7 @@ import LogMonitorCriteria from "./Criteria/LogMonitorCriteria";
|
|
|
11
11
|
import MetricMonitorCriteria from "./Criteria/MetricMonitorCriteria";
|
|
12
12
|
import TraceMonitorCriteria from "./Criteria/TraceMonitorCriteria";
|
|
13
13
|
import ExceptionMonitorCriteria from "./Criteria/ExceptionMonitorCriteria";
|
|
14
|
+
import ProfileMonitorCriteria from "./Criteria/ProfileMonitorCriteria";
|
|
14
15
|
import SnmpMonitorCriteria from "./Criteria/SnmpMonitorCriteria";
|
|
15
16
|
import DnsMonitorCriteria from "./Criteria/DnsMonitorCriteria";
|
|
16
17
|
import DomainMonitorCriteria from "./Criteria/DomainMonitorCriteria";
|
|
@@ -347,6 +348,15 @@ ${contextBlock}
|
|
|
347
348
|
return exceptionMonitorResult;
|
|
348
349
|
}
|
|
349
350
|
}
|
|
351
|
+
if (input.monitor.monitorType === MonitorType.Profiles) {
|
|
352
|
+
const profileMonitorResult = await ProfileMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
|
|
353
|
+
dataToProcess: input.dataToProcess,
|
|
354
|
+
criteriaFilter: input.criteriaFilter,
|
|
355
|
+
});
|
|
356
|
+
if (profileMonitorResult) {
|
|
357
|
+
return profileMonitorResult;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
350
360
|
if (input.monitor.monitorType === MonitorType.SNMP) {
|
|
351
361
|
const snmpMonitorResult = await SnmpMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
|
|
352
362
|
dataToProcess: input.dataToProcess,
|
|
@@ -386,6 +396,10 @@ ${contextBlock}
|
|
|
386
396
|
return null;
|
|
387
397
|
}
|
|
388
398
|
static buildRootCauseContext(input) {
|
|
399
|
+
// Handle Kubernetes monitors with rich resource context
|
|
400
|
+
if (input.monitor.monitorType === MonitorType.Kubernetes) {
|
|
401
|
+
return MonitorCriteriaEvaluator.buildKubernetesRootCauseContext(input);
|
|
402
|
+
}
|
|
389
403
|
const requestDetails = [];
|
|
390
404
|
const responseDetails = [];
|
|
391
405
|
const failureDetails = [];
|
|
@@ -452,6 +466,165 @@ ${contextBlock}
|
|
|
452
466
|
}
|
|
453
467
|
return sections.join("\n");
|
|
454
468
|
}
|
|
469
|
+
static buildKubernetesRootCauseContext(input) {
|
|
470
|
+
const metricResponse = input.dataToProcess;
|
|
471
|
+
const breakdown = metricResponse.kubernetesResourceBreakdown;
|
|
472
|
+
if (!breakdown) {
|
|
473
|
+
return null;
|
|
474
|
+
}
|
|
475
|
+
const sections = [];
|
|
476
|
+
// Cluster context
|
|
477
|
+
const clusterDetails = [];
|
|
478
|
+
clusterDetails.push(`- Cluster: ${breakdown.clusterName}`);
|
|
479
|
+
clusterDetails.push(`- Metric: ${breakdown.metricFriendlyName} (\`${breakdown.metricName}\`)`);
|
|
480
|
+
if (breakdown.attributes["k8s.namespace.name"]) {
|
|
481
|
+
clusterDetails.push(`- Namespace: ${breakdown.attributes["k8s.namespace.name"]}`);
|
|
482
|
+
}
|
|
483
|
+
sections.push(`**Kubernetes Cluster Details**\n${clusterDetails.join("\n")}`);
|
|
484
|
+
// Affected resources
|
|
485
|
+
if (breakdown.affectedResources && breakdown.affectedResources.length > 0) {
|
|
486
|
+
const resourceLines = [];
|
|
487
|
+
// Sort by metric value descending (worst first)
|
|
488
|
+
const sortedResources = [
|
|
489
|
+
...breakdown.affectedResources,
|
|
490
|
+
].sort((a, b) => {
|
|
491
|
+
return b.metricValue - a.metricValue;
|
|
492
|
+
});
|
|
493
|
+
// Show top 10 affected resources
|
|
494
|
+
const resourcesToShow = sortedResources.slice(0, 10);
|
|
495
|
+
for (const resource of resourcesToShow) {
|
|
496
|
+
const details = [];
|
|
497
|
+
if (resource.namespace) {
|
|
498
|
+
details.push(`Namespace: \`${resource.namespace}\``);
|
|
499
|
+
}
|
|
500
|
+
if (resource.workloadType && resource.workloadName) {
|
|
501
|
+
details.push(`${resource.workloadType}: \`${resource.workloadName}\``);
|
|
502
|
+
}
|
|
503
|
+
if (resource.podName) {
|
|
504
|
+
details.push(`Pod: \`${resource.podName}\``);
|
|
505
|
+
}
|
|
506
|
+
if (resource.containerName) {
|
|
507
|
+
details.push(`Container: \`${resource.containerName}\``);
|
|
508
|
+
}
|
|
509
|
+
if (resource.nodeName) {
|
|
510
|
+
details.push(`Node: \`${resource.nodeName}\``);
|
|
511
|
+
}
|
|
512
|
+
details.push(`Value: **${resource.metricValue}**`);
|
|
513
|
+
resourceLines.push(`- ${details.join(" | ")}`);
|
|
514
|
+
}
|
|
515
|
+
if (sortedResources.length > 10) {
|
|
516
|
+
resourceLines.push(`- ... and ${sortedResources.length - 10} more affected resources`);
|
|
517
|
+
}
|
|
518
|
+
sections.push(`\n\n**Affected Resources** (${sortedResources.length} total)\n${resourceLines.join("\n")}`);
|
|
519
|
+
// Add root cause analysis based on metric type
|
|
520
|
+
const analysis = MonitorCriteriaEvaluator.buildKubernetesRootCauseAnalysis({
|
|
521
|
+
breakdown: breakdown,
|
|
522
|
+
topResource: resourcesToShow[0],
|
|
523
|
+
});
|
|
524
|
+
if (analysis) {
|
|
525
|
+
sections.push(`\n\n**Root Cause Analysis**\n${analysis}`);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
return sections.join("\n");
|
|
529
|
+
}
|
|
530
|
+
static buildKubernetesRootCauseAnalysis(input) {
|
|
531
|
+
const { breakdown, topResource } = input;
|
|
532
|
+
const metricName = breakdown.metricName;
|
|
533
|
+
const lines = [];
|
|
534
|
+
if (metricName === "k8s.container.restarts" ||
|
|
535
|
+
metricName.includes("restart")) {
|
|
536
|
+
lines.push(`Container restart count is elevated, indicating a potential CrashLoopBackOff condition.`);
|
|
537
|
+
if (topResource.containerName) {
|
|
538
|
+
lines.push(`The container \`${topResource.containerName}\` in pod \`${topResource.podName || "unknown"}\` has restarted **${topResource.metricValue}** times.`);
|
|
539
|
+
}
|
|
540
|
+
lines.push(`Common causes: application crash on startup, misconfigured environment variables, missing dependencies, OOM (Out of Memory) kills, failed health checks, or missing config maps/secrets.`);
|
|
541
|
+
lines.push(`Recommended actions: Check container logs with \`kubectl logs ${topResource.podName || "<pod-name>"} -c ${topResource.containerName || "<container>"} --previous\` and inspect events with \`kubectl describe pod ${topResource.podName || "<pod-name>"}\`.`);
|
|
542
|
+
}
|
|
543
|
+
else if (metricName === "k8s.pod.phase" &&
|
|
544
|
+
breakdown.attributes["k8s.pod.phase"] === "Pending") {
|
|
545
|
+
lines.push(`Pods are stuck in Pending phase and unable to be scheduled.`);
|
|
546
|
+
lines.push(`Common causes: insufficient CPU/memory resources on nodes, node affinity/taint restrictions preventing scheduling, PersistentVolumeClaim pending, or resource quota exceeded.`);
|
|
547
|
+
if (topResource.podName) {
|
|
548
|
+
lines.push(`Recommended actions: Check scheduling events with \`kubectl describe pod ${topResource.podName}\` and verify node resources with \`kubectl describe nodes\`.`);
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
else if (metricName === "k8s.node.condition_ready" ||
|
|
552
|
+
(metricName.includes("node") && metricName.includes("condition"))) {
|
|
553
|
+
lines.push(`One or more nodes have transitioned to a NotReady state.`);
|
|
554
|
+
if (topResource.nodeName) {
|
|
555
|
+
lines.push(`Node \`${topResource.nodeName}\` is reporting NotReady (value: ${topResource.metricValue}).`);
|
|
556
|
+
}
|
|
557
|
+
lines.push(`Common causes: kubelet process failure, node resource exhaustion (disk pressure, memory pressure, PID pressure), network connectivity issues, or underlying VM/hardware failure.`);
|
|
558
|
+
lines.push(`Recommended actions: Check node conditions with \`kubectl describe node ${topResource.nodeName || "<node-name>"}\` and verify kubelet status on the node.`);
|
|
559
|
+
}
|
|
560
|
+
else if (metricName === "k8s.node.cpu.utilization" ||
|
|
561
|
+
(metricName.includes("cpu") && metricName.includes("utilization"))) {
|
|
562
|
+
lines.push(`Node CPU utilization has exceeded the configured threshold.`);
|
|
563
|
+
if (topResource.nodeName) {
|
|
564
|
+
lines.push(`Node \`${topResource.nodeName}\` is at **${topResource.metricValue.toFixed(1)}%** CPU utilization.`);
|
|
565
|
+
}
|
|
566
|
+
lines.push(`Common causes: resource-intensive workloads, insufficient resource limits on pods, noisy neighbor pods consuming excessive CPU, or insufficient cluster capacity.`);
|
|
567
|
+
lines.push(`Recommended actions: Identify top CPU consumers with \`kubectl top pods --all-namespaces --sort-by=cpu\` and consider scaling the cluster or adjusting pod resource limits.`);
|
|
568
|
+
}
|
|
569
|
+
else if (metricName === "k8s.node.memory.usage" ||
|
|
570
|
+
(metricName.includes("memory") && metricName.includes("usage"))) {
|
|
571
|
+
lines.push(`Node memory utilization has exceeded the configured threshold.`);
|
|
572
|
+
if (topResource.nodeName) {
|
|
573
|
+
lines.push(`Node \`${topResource.nodeName}\` memory usage is at **${topResource.metricValue.toFixed(1)}%**.`);
|
|
574
|
+
}
|
|
575
|
+
lines.push(`Common causes: memory leaks in applications, insufficient memory limits on pods, too many pods scheduled on the node, or growing dataset sizes.`);
|
|
576
|
+
lines.push(`Recommended actions: Check memory consumers with \`kubectl top pods --all-namespaces --sort-by=memory\` and review pod memory limits. Consider scaling the cluster or adding nodes with more memory.`);
|
|
577
|
+
}
|
|
578
|
+
else if (metricName === "k8s.deployment.unavailable_replicas" ||
|
|
579
|
+
metricName.includes("unavailable")) {
|
|
580
|
+
lines.push(`Deployment has unavailable replicas, indicating a mismatch between desired and available replicas.`);
|
|
581
|
+
if (topResource.workloadName) {
|
|
582
|
+
lines.push(`${topResource.workloadType || "Deployment"} \`${topResource.workloadName}\` has **${topResource.metricValue}** unavailable replica(s).`);
|
|
583
|
+
}
|
|
584
|
+
lines.push(`Common causes: failed rolling update, image pull errors (wrong image tag or missing registry credentials), pod crash loops, insufficient cluster resources to schedule new pods, or PodDisruptionBudget blocking updates.`);
|
|
585
|
+
lines.push(`Recommended actions: Check deployment rollout status with \`kubectl rollout status deployment/${topResource.workloadName || "<deployment>"}\` and inspect pod events.`);
|
|
586
|
+
}
|
|
587
|
+
else if (metricName === "k8s.job.failed_pods" ||
|
|
588
|
+
(metricName.includes("job") && metricName.includes("fail"))) {
|
|
589
|
+
lines.push(`Kubernetes Job has failed pods.`);
|
|
590
|
+
if (topResource.workloadName) {
|
|
591
|
+
lines.push(`Job \`${topResource.workloadName}\` has **${topResource.metricValue}** failed pod(s).`);
|
|
592
|
+
}
|
|
593
|
+
lines.push(`Common causes: application error or non-zero exit code, resource limits exceeded (OOMKilled), misconfigured command or arguments, missing environment variables, or timeout exceeded.`);
|
|
594
|
+
lines.push(`Recommended actions: Check job status with \`kubectl describe job ${topResource.workloadName || "<job-name>"}\` and review pod logs for the failed pod(s).`);
|
|
595
|
+
}
|
|
596
|
+
else if (metricName === "k8s.node.filesystem.usage" ||
|
|
597
|
+
metricName.includes("disk") ||
|
|
598
|
+
metricName.includes("filesystem")) {
|
|
599
|
+
lines.push(`Node disk/filesystem usage has exceeded the configured threshold.`);
|
|
600
|
+
if (topResource.nodeName) {
|
|
601
|
+
lines.push(`Node \`${topResource.nodeName}\` filesystem usage is at **${topResource.metricValue.toFixed(1)}%**.`);
|
|
602
|
+
}
|
|
603
|
+
lines.push(`Common causes: container image layers consuming disk space, excessive logging, large emptyDir volumes, or accumulation of unused container images.`);
|
|
604
|
+
lines.push(`Recommended actions: Clean up unused images with \`docker system prune\` or \`crictl rmi --prune\`, check for large log files, and review PersistentVolumeClaim usage.`);
|
|
605
|
+
}
|
|
606
|
+
else if (metricName === "k8s.daemonset.misscheduled_nodes" ||
|
|
607
|
+
metricName.includes("daemonset")) {
|
|
608
|
+
lines.push(`DaemonSet has misscheduled or unavailable nodes.`);
|
|
609
|
+
if (topResource.workloadName) {
|
|
610
|
+
lines.push(`DaemonSet \`${topResource.workloadName}\` has **${topResource.metricValue}** misscheduled node(s).`);
|
|
611
|
+
}
|
|
612
|
+
lines.push(`Common causes: node taints preventing scheduling, incorrect node selectors, or node affinity rules excluding certain nodes.`);
|
|
613
|
+
lines.push(`Recommended actions: Check DaemonSet status with \`kubectl describe daemonset ${topResource.workloadName || "<daemonset>"}\` and verify node labels and taints.`);
|
|
614
|
+
}
|
|
615
|
+
else {
|
|
616
|
+
// Generic Kubernetes context
|
|
617
|
+
lines.push(`Kubernetes metric \`${metricName}\` (${breakdown.metricFriendlyName}) has breached the configured threshold.`);
|
|
618
|
+
if (topResource.podName) {
|
|
619
|
+
lines.push(`Most affected pod: \`${topResource.podName}\``);
|
|
620
|
+
}
|
|
621
|
+
if (topResource.nodeName) {
|
|
622
|
+
lines.push(`Most affected node: \`${topResource.nodeName}\``);
|
|
623
|
+
}
|
|
624
|
+
lines.push(`Recommended actions: Investigate the affected resources using \`kubectl describe\` and \`kubectl logs\` commands.`);
|
|
625
|
+
}
|
|
626
|
+
return lines.join("\n");
|
|
627
|
+
}
|
|
455
628
|
static getMonitorDestinationString(input) {
|
|
456
629
|
var _a, _b;
|
|
457
630
|
if ((_a = input.probeResponse) === null || _a === void 0 ? void 0 : _a.monitorDestination) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MonitorCriteriaEvaluator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaEvaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MonitorCriteriaEvaluator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaEvaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import zlib from "zlib";
|
|
2
|
+
export default class PprofEncoder {
|
|
3
|
+
/**
|
|
4
|
+
* Build a pprof-like JSON structure from denormalized profile data.
|
|
5
|
+
* The output is a JSON object that mirrors the pprof proto structure,
|
|
6
|
+
* using string table indirection for compact representation.
|
|
7
|
+
*/
|
|
8
|
+
static encode(profile) {
|
|
9
|
+
const stringTable = [""];
|
|
10
|
+
const stringIndex = new Map([["", 0]]);
|
|
11
|
+
const getStringIndex = (s) => {
|
|
12
|
+
const existing = stringIndex.get(s);
|
|
13
|
+
if (existing !== undefined) {
|
|
14
|
+
return existing;
|
|
15
|
+
}
|
|
16
|
+
const idx = stringTable.length;
|
|
17
|
+
stringTable.push(s);
|
|
18
|
+
stringIndex.set(s, idx);
|
|
19
|
+
return idx;
|
|
20
|
+
};
|
|
21
|
+
const functions = [];
|
|
22
|
+
const functionIndex = new Map();
|
|
23
|
+
const locations = [];
|
|
24
|
+
const locationIndex = new Map();
|
|
25
|
+
const getOrCreateFunction = (name, fileName) => {
|
|
26
|
+
const key = `${name}@${fileName}`;
|
|
27
|
+
const existing = functionIndex.get(key);
|
|
28
|
+
if (existing !== undefined) {
|
|
29
|
+
return existing;
|
|
30
|
+
}
|
|
31
|
+
const id = functions.length + 1;
|
|
32
|
+
functions.push({
|
|
33
|
+
id,
|
|
34
|
+
name: getStringIndex(name),
|
|
35
|
+
filename: getStringIndex(fileName),
|
|
36
|
+
});
|
|
37
|
+
functionIndex.set(key, id);
|
|
38
|
+
return id;
|
|
39
|
+
};
|
|
40
|
+
const getOrCreateLocation = (functionName, fileName, lineNumber) => {
|
|
41
|
+
const key = `${functionName}@${fileName}:${lineNumber}`;
|
|
42
|
+
const existing = locationIndex.get(key);
|
|
43
|
+
if (existing !== undefined) {
|
|
44
|
+
return existing;
|
|
45
|
+
}
|
|
46
|
+
const funcId = getOrCreateFunction(functionName, fileName);
|
|
47
|
+
const id = locations.length + 1;
|
|
48
|
+
locations.push({
|
|
49
|
+
id,
|
|
50
|
+
line: [{ functionId: funcId, line: lineNumber }],
|
|
51
|
+
});
|
|
52
|
+
locationIndex.set(key, id);
|
|
53
|
+
return id;
|
|
54
|
+
};
|
|
55
|
+
// Build samples
|
|
56
|
+
const pprofSamples = [];
|
|
57
|
+
for (const sample of profile.samples) {
|
|
58
|
+
const locationIds = [];
|
|
59
|
+
// Parse each frame in the stacktrace
|
|
60
|
+
for (const frame of sample.stacktrace) {
|
|
61
|
+
const atIndex = frame.indexOf("@");
|
|
62
|
+
let functionName = frame;
|
|
63
|
+
let fileName = "";
|
|
64
|
+
let lineNumber = 0;
|
|
65
|
+
if (atIndex !== -1) {
|
|
66
|
+
functionName = frame.substring(0, atIndex);
|
|
67
|
+
const rest = frame.substring(atIndex + 1);
|
|
68
|
+
const lastColon = rest.lastIndexOf(":");
|
|
69
|
+
if (lastColon !== -1) {
|
|
70
|
+
fileName = rest.substring(0, lastColon);
|
|
71
|
+
lineNumber = parseInt(rest.substring(lastColon + 1), 10) || 0;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
fileName = rest;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
locationIds.push(getOrCreateLocation(functionName, fileName, lineNumber));
|
|
78
|
+
}
|
|
79
|
+
// Build labels
|
|
80
|
+
const labels = [];
|
|
81
|
+
if (sample.labels) {
|
|
82
|
+
for (const [key, value] of Object.entries(sample.labels)) {
|
|
83
|
+
labels.push({
|
|
84
|
+
key: getStringIndex(key),
|
|
85
|
+
str: getStringIndex(String(value)),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
pprofSamples.push({
|
|
90
|
+
locationId: locationIds,
|
|
91
|
+
value: [sample.value],
|
|
92
|
+
label: labels,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// Build sample type
|
|
96
|
+
const typeIdx = getStringIndex(profile.profileType);
|
|
97
|
+
const unitIdx = getStringIndex(profile.unit || "count");
|
|
98
|
+
const periodTypeIdx = getStringIndex(profile.periodType || profile.profileType);
|
|
99
|
+
return {
|
|
100
|
+
stringTable,
|
|
101
|
+
functions,
|
|
102
|
+
locations,
|
|
103
|
+
samples: pprofSamples,
|
|
104
|
+
sampleType: [{ type: typeIdx, unit: unitIdx }],
|
|
105
|
+
periodType: { type: periodTypeIdx, unit: unitIdx },
|
|
106
|
+
period: profile.period,
|
|
107
|
+
timeNanos: profile.startTimeNanos,
|
|
108
|
+
durationNanos: profile.durationNanos,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Encode and gzip the pprof JSON for download.
|
|
113
|
+
*/
|
|
114
|
+
static async encodeAndCompress(profile) {
|
|
115
|
+
const pprofData = PprofEncoder.encode(profile);
|
|
116
|
+
const jsonString = JSON.stringify(pprofData);
|
|
117
|
+
return new Promise((resolve, reject) => {
|
|
118
|
+
zlib.gzip(jsonString, (err, result) => {
|
|
119
|
+
if (err) {
|
|
120
|
+
reject(err);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
resolve(result);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=PprofEncoder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PprofEncoder.js","sourceRoot":"","sources":["../../../../../Server/Utils/Profile/PprofEncoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -668,11 +668,27 @@ class MicrosoftTeamsUtil extends WorkspaceBase {
|
|
|
668
668
|
logger.debug("=== MicrosoftTeamsUtil.sendMessage called ===");
|
|
669
669
|
logger.debug("Sending message to Microsoft Teams with data:");
|
|
670
670
|
logger.debug(data);
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
671
|
+
/*
|
|
672
|
+
* Teams adaptive cards have a ~28KB payload limit.
|
|
673
|
+
* Split message blocks into chunks of 40 to avoid hitting the limit.
|
|
674
|
+
*/
|
|
675
|
+
const maxBlocksPerCard = 40;
|
|
676
|
+
const allMessageBlocks = data.workspaceMessagePayload.messageBlocks;
|
|
677
|
+
const adaptiveCards = [];
|
|
678
|
+
if (allMessageBlocks.length <= maxBlocksPerCard) {
|
|
679
|
+
adaptiveCards.push(this.buildAdaptiveCardFromMessageBlocks({
|
|
680
|
+
messageBlocks: allMessageBlocks,
|
|
681
|
+
}));
|
|
682
|
+
}
|
|
683
|
+
else {
|
|
684
|
+
for (let i = 0; i < allMessageBlocks.length; i += maxBlocksPerCard) {
|
|
685
|
+
const chunk = allMessageBlocks.slice(i, i + maxBlocksPerCard);
|
|
686
|
+
adaptiveCards.push(this.buildAdaptiveCardFromMessageBlocks({
|
|
687
|
+
messageBlocks: chunk,
|
|
688
|
+
}));
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
logger.debug(`Built ${adaptiveCards.length} adaptive card(s) from ${allMessageBlocks.length} message blocks`);
|
|
676
692
|
const workspaceChannelsToPostTo = [];
|
|
677
693
|
logger.debug(`Processing ${data.workspaceMessagePayload.channelNames.length} channel names`);
|
|
678
694
|
logger.debug(`Channel names: ${JSON.stringify(data.workspaceMessagePayload.channelNames)}`);
|
|
@@ -734,15 +750,21 @@ class MicrosoftTeamsUtil extends WorkspaceBase {
|
|
|
734
750
|
if (!data.workspaceMessagePayload.teamId) {
|
|
735
751
|
throw new BadDataException("Team ID is required to send messages to channels.");
|
|
736
752
|
}
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
753
|
+
// Send each adaptive card chunk to the channel
|
|
754
|
+
let lastThread;
|
|
755
|
+
for (const adaptiveCard of adaptiveCards) {
|
|
756
|
+
lastThread = await this.sendAdaptiveCardToChannel({
|
|
757
|
+
authToken: data.authToken,
|
|
758
|
+
teamId: data.workspaceMessagePayload.teamId,
|
|
759
|
+
workspaceChannel: channel,
|
|
760
|
+
adaptiveCard: adaptiveCard,
|
|
761
|
+
projectId: data.projectId,
|
|
762
|
+
});
|
|
763
|
+
}
|
|
764
|
+
if (lastThread) {
|
|
765
|
+
logger.debug(`Message sent successfully to channel ${channel.name}, thread: ${JSON.stringify(lastThread)}`);
|
|
766
|
+
workspaceMessageResponse.threads.push(lastThread);
|
|
767
|
+
}
|
|
746
768
|
}
|
|
747
769
|
catch (e) {
|
|
748
770
|
logger.error(`Error sending message to channel ID ${channel.id}:`);
|