@alauda-fe/common
Version:
Alauda frontend team common codes.
77 lines • 10.7 kB
JavaScript
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { map } from 'rxjs';
import { API_GATEWAY, NOT_NOTIFY_ON_ERROR_HEADERS } from '../core/public-api';
import { MATCH_UNIT_DEFAULT_BASE, adaptUnit } from './helpers';
import { dependOnDataSeries, dependOnIndicatorSeries } from './utils';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
const GLOBAL = 'global';
export class CommonChartService {
constructor(http) {
this.http = http;
this.handelChartData = (res, indicator, dependOnData) => dependOnData
? dependOnDataSeries(res, indicator) // 一个indicator 对应 单条series
: dependOnIndicatorSeries(res, indicator); // 一个indicator 对应 多条series
}
requestChartData({ cluster = GLOBAL, ...rest }, indicator) {
return this.http.post(`${API_GATEWAY}/v2/metrics/${cluster}/query_range`, {
...rest,
queries: indicator,
}, {
headers: NOT_NOTIFY_ON_ERROR_HEADERS,
});
}
getPrometheusStatus(cluster = '.*') {
return this.http
.post(`${API_GATEWAY}/v2/metrics/${GLOBAL}/query`, {
time: Math.floor(Date.now() / 1000),
queries: [
{
id: 'notDeployed',
indicator: 'platform.cluster.prometheus.not.deployed',
},
{
id: 'abnormal',
indicator: 'platform.cluster.prometheus.down',
},
].map(item => ({
...item,
variables: {
cluster,
},
})),
}, {
headers: NOT_NOTIFY_ON_ERROR_HEADERS,
})
.pipe(map(res => res.reduce((acc, pre) => {
const notDeployed = res.find(d => d.id === 'notDeployed').result.length > 0;
return {
...acc,
notDeployed,
...(pre.id === 'abnormal' && !notDeployed
? { abnormal: pre.result.length > 0 }
: {}),
};
}, {
notDeployed: false,
abnormal: false,
})));
}
adaptChartUnit(data, adaptUnitParams) {
let base = MATCH_UNIT_DEFAULT_BASE;
if (typeof adaptUnitParams === 'object' && adaptUnitParams?.base) {
base = adaptUnitParams.base;
}
const { unit, exponent, base: _base, } = adaptUnit(data, (adaptUnitParams === true
? undefined
: adaptUnitParams));
return { base: _base || base, exponent, unit };
}
static { this.ɵfac = function CommonChartService_Factory(t) { return new (t || CommonChartService)(i0.ɵɵinject(i1.HttpClient)); }; }
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CommonChartService, factory: CommonChartService.ɵfac }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CommonChartService, [{
type: Injectable
}], () => [{ type: i1.HttpClient }], null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWNoYXJ0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbWV0cmljLWNoYXJ0L2NvbW1vbi1jaGFydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0IsT0FBTyxFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBbUIsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXRFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztBQUV4QixNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQTRCLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFtRTVDLG9CQUFlLEdBQUcsQ0FDaEIsR0FBbUIsRUFDbkIsU0FBc0IsRUFDdEIsWUFBcUIsRUFDckIsRUFBRSxDQUNGLFlBQVk7WUFDVixDQUFDLENBQUMsa0JBQWtCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLDBCQUEwQjtZQUMvRCxDQUFDLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO0lBMUUxQixDQUFDO0lBRWhELGdCQUFnQixDQUNkLEVBQUUsT0FBTyxHQUFHLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBbUIsRUFDOUMsU0FBc0I7UUFFdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbkIsR0FBRyxXQUFXLGVBQWUsT0FBTyxjQUFjLEVBQ2xEO1lBQ0UsR0FBRyxJQUFJO1lBQ1AsT0FBTyxFQUFFLFNBQVM7U0FDbkIsRUFDRDtZQUNFLE9BQU8sRUFBRSwyQkFBMkI7U0FDckMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQU8sR0FBRyxJQUFJO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixJQUFJLENBQ0gsR0FBRyxXQUFXLGVBQWUsTUFBTSxRQUFRLEVBQzNDO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztZQUNuQyxPQUFPLEVBQUU7Z0JBQ1A7b0JBQ0UsRUFBRSxFQUFFLGFBQWE7b0JBQ2pCLFNBQVMsRUFBRSwwQ0FBMEM7aUJBQ3REO2dCQUNEO29CQUNFLEVBQUUsRUFBRSxVQUFVO29CQUNkLFNBQVMsRUFBRSxrQ0FBa0M7aUJBQzlDO2FBQ0YsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNiLEdBQUcsSUFBSTtnQkFDUCxTQUFTLEVBQUU7b0JBQ1QsT0FBTztpQkFDUjthQUNGLENBQUMsQ0FBQztTQUNKLEVBQ0Q7WUFDRSxPQUFPLEVBQUUsMkJBQTJCO1NBQ3JDLENBQ0Y7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ1IsR0FBRyxDQUFDLE1BQU0sQ0FDUixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNYLE1BQU0sV0FBVyxHQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzFELE9BQU87Z0JBQ0wsR0FBRyxHQUFHO2dCQUNOLFdBQVc7Z0JBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssVUFBVSxJQUFJLENBQUMsV0FBVztvQkFDdkMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDckMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNSLENBQUM7UUFDSixDQUFDLEVBQ0Q7WUFDRSxXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUNGLENBQ0YsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQVdELGNBQWMsQ0FDWixJQUdFLEVBQ0YsZUFBMEM7UUFFMUMsSUFBSSxJQUFJLEdBQUcsdUJBQXVCLENBQUM7UUFDbkMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLElBQUksZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2pFLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBQzlCLENBQUM7UUFDRCxNQUFNLEVBQ0osSUFBSSxFQUNKLFFBQVEsRUFDUixJQUFJLEVBQUUsS0FBSyxHQUNaLEdBQUcsU0FBUyxDQUNYLElBQUksRUFDSixDQUFDLGVBQWUsS0FBSyxJQUFJO1lBQ3ZCLENBQUMsQ0FBQyxTQUFTO1lBQ1gsQ0FBQyxDQUFDLGVBQWUsQ0FBb0IsQ0FDeEMsQ0FBQztRQUNGLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQzttRkFuR1Usa0JBQWtCO3VFQUFsQixrQkFBa0IsV0FBbEIsa0JBQWtCOztpRkFBbEIsa0JBQWtCO2NBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFQSV9HQVRFV0FZLCBOT1RfTk9USUZZX09OX0VSUk9SX0hFQURFUlMgfSBmcm9tICcuLi9jb3JlL3B1YmxpYy1hcGknO1xuXG5pbXBvcnQgeyBNQVRDSF9VTklUX0RFRkFVTFRfQkFTRSwgTWF0Y2hVbml0UGFyYW1zLCBhZGFwdFVuaXQgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgSW5kaWNhdG9yLCBNZXRyaWNBcGlQYXJhbXMsIE1ldHJpY1Jlc3VsdCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZGVwZW5kT25EYXRhU2VyaWVzLCBkZXBlbmRPbkluZGljYXRvclNlcmllcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBHTE9CQUwgPSAnZ2xvYmFsJztcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb21tb25DaGFydFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge31cblxuICByZXF1ZXN0Q2hhcnREYXRhKFxuICAgIHsgY2x1c3RlciA9IEdMT0JBTCwgLi4ucmVzdCB9OiBNZXRyaWNBcGlQYXJhbXMsXG4gICAgaW5kaWNhdG9yOiBJbmRpY2F0b3JbXSxcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1ldHJpY1Jlc3VsdFtdPihcbiAgICAgIGAke0FQSV9HQVRFV0FZfS92Mi9tZXRyaWNzLyR7Y2x1c3Rlcn0vcXVlcnlfcmFuZ2VgLFxuICAgICAge1xuICAgICAgICAuLi5yZXN0LFxuICAgICAgICBxdWVyaWVzOiBpbmRpY2F0b3IsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXJzOiBOT1RfTk9USUZZX09OX0VSUk9SX0hFQURFUlMsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBnZXRQcm9tZXRoZXVzU3RhdHVzKGNsdXN0ZXIgPSAnLionKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8TWV0cmljUmVzdWx0W10+KFxuICAgICAgICBgJHtBUElfR0FURVdBWX0vdjIvbWV0cmljcy8ke0dMT0JBTH0vcXVlcnlgLFxuICAgICAgICB7XG4gICAgICAgICAgdGltZTogTWF0aC5mbG9vcihEYXRlLm5vdygpIC8gMTAwMCksXG4gICAgICAgICAgcXVlcmllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ25vdERlcGxveWVkJyxcbiAgICAgICAgICAgICAgaW5kaWNhdG9yOiAncGxhdGZvcm0uY2x1c3Rlci5wcm9tZXRoZXVzLm5vdC5kZXBsb3llZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZDogJ2Fibm9ybWFsJyxcbiAgICAgICAgICAgICAgaW5kaWNhdG9yOiAncGxhdGZvcm0uY2x1c3Rlci5wcm9tZXRoZXVzLmRvd24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgIGNsdXN0ZXIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcnM6IE5PVF9OT1RJRllfT05fRVJST1JfSEVBREVSUyxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzID0+XG4gICAgICAgICAgcmVzLnJlZHVjZShcbiAgICAgICAgICAgIChhY2MsIHByZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBub3REZXBsb3llZCA9XG4gICAgICAgICAgICAgICAgcmVzLmZpbmQoZCA9PiBkLmlkID09PSAnbm90RGVwbG95ZWQnKS5yZXN1bHQubGVuZ3RoID4gMDtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgICAgICAgbm90RGVwbG95ZWQsXG4gICAgICAgICAgICAgICAgLi4uKHByZS5pZCA9PT0gJ2Fibm9ybWFsJyAmJiAhbm90RGVwbG95ZWRcbiAgICAgICAgICAgICAgICAgID8geyBhYm5vcm1hbDogcHJlLnJlc3VsdC5sZW5ndGggPiAwIH1cbiAgICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbm90RGVwbG95ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICBhYm5vcm1hbDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApO1xuICB9XG5cbiAgaGFuZGVsQ2hhcnREYXRhID0gKFxuICAgIHJlczogTWV0cmljUmVzdWx0W10sXG4gICAgaW5kaWNhdG9yOiBJbmRpY2F0b3JbXSxcbiAgICBkZXBlbmRPbkRhdGE6IGJvb2xlYW4sXG4gICkgPT5cbiAgICBkZXBlbmRPbkRhdGFcbiAgICAgID8gZGVwZW5kT25EYXRhU2VyaWVzKHJlcywgaW5kaWNhdG9yKSAvLyDkuIDkuKppbmRpY2F0b3Ig5a+55bqUIOWNleadoXNlcmllc1xuICAgICAgOiBkZXBlbmRPbkluZGljYXRvclNlcmllcyhyZXMsIGluZGljYXRvcik7IC8vIOS4gOS4qmluZGljYXRvciDlr7nlupQg5aSa5p2hc2VyaWVzXG5cbiAgYWRhcHRDaGFydFVuaXQoXG4gICAgZGF0YTogQXJyYXk8e1xuICAgICAgZGF0YT86IEFycmF5PHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfT47XG4gICAgICB2YWx1ZXM/OiBBcnJheTx7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0+O1xuICAgIH0+LFxuICAgIGFkYXB0VW5pdFBhcmFtczogYm9vbGVhbiB8IE1hdGNoVW5pdFBhcmFtcyxcbiAgKSB7XG4gICAgbGV0IGJhc2UgPSBNQVRDSF9VTklUX0RFRkFVTFRfQkFTRTtcbiAgICBpZiAodHlwZW9mIGFkYXB0VW5pdFBhcmFtcyA9PT0gJ29iamVjdCcgJiYgYWRhcHRVbml0UGFyYW1zPy5iYXNlKSB7XG4gICAgICBiYXNlID0gYWRhcHRVbml0UGFyYW1zLmJhc2U7XG4gICAgfVxuICAgIGNvbnN0IHtcbiAgICAgIHVuaXQsXG4gICAgICBleHBvbmVudCxcbiAgICAgIGJhc2U6IF9iYXNlLFxuICAgIH0gPSBhZGFwdFVuaXQoXG4gICAgICBkYXRhLFxuICAgICAgKGFkYXB0VW5pdFBhcmFtcyA9PT0gdHJ1ZVxuICAgICAgICA/IHVuZGVmaW5lZFxuICAgICAgICA6IGFkYXB0VW5pdFBhcmFtcykgYXMgTWF0Y2hVbml0UGFyYW1zLFxuICAgICk7XG4gICAgcmV0dXJuIHsgYmFzZTogX2Jhc2UgfHwgYmFzZSwgZXhwb25lbnQsIHVuaXQgfTtcbiAgfVxufVxuIl19