mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
* add lezer-promql module Signed-off-by: Augustin Husson <husson.augustin@gmail.com> * integrate lezer-promql in codemirror-promql Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
145 lines
4.5 KiB
TypeScript
145 lines
4.5 KiB
TypeScript
// Copyright 2021 The Prometheus Authors
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
import { parser } from '../lang-promql/grammar/parser';
|
|
import { EditorState } from '@codemirror/state';
|
|
import { LezerLanguage } from '@codemirror/language';
|
|
import nock from 'nock';
|
|
|
|
// used to inject an implementation of fetch in NodeJS
|
|
require('isomorphic-fetch');
|
|
|
|
const lightPromQLSyntax = LezerLanguage.define({ parser: parser });
|
|
|
|
export function createEditorState(expr: string): EditorState {
|
|
return EditorState.create({
|
|
doc: expr,
|
|
extensions: lightPromQLSyntax,
|
|
});
|
|
}
|
|
|
|
export function mockPrometheusServer() {
|
|
nock('http://localhost:8080')
|
|
.get('/api/v1/label/__name__/values')
|
|
.query(true)
|
|
.replyWithFile(200, __dirname + '/metric_name.json')
|
|
.get('/api/v1/metadata')
|
|
.replyWithFile(200, __dirname + '/metadata.json')
|
|
.get('/api/v1/series')
|
|
.query(true)
|
|
.replyWithFile(200, __dirname + '/alertmanager_alerts_series.json')
|
|
.post('/api/v1/series')
|
|
.replyWithFile(200, __dirname + '/alertmanager_alerts_series.json');
|
|
}
|
|
|
|
export const mockedMetricsTerms = [
|
|
{
|
|
label: 'ALERTS',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
label: 'ALERTS_FOR_STATE',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'gauge',
|
|
info: 'How many alerts by state.',
|
|
label: 'alertmanager_alerts',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'The total number of received alerts that were invalid.',
|
|
label: 'alertmanager_alerts_invalid_total',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'The total number of received alerts.',
|
|
label: 'alertmanager_alerts_received_total',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'gauge',
|
|
info: "A metric with a constant '1' value labeled by version, revision, branch, and goversion from which alertmanager was built.",
|
|
label: 'alertmanager_build_info',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'gauge',
|
|
info: 'Indicates whether the clustering is enabled or not.',
|
|
label: 'alertmanager_cluster_enabled',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'gauge',
|
|
info: 'Hash of the currently loaded alertmanager configuration.',
|
|
label: 'alertmanager_config_hash',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'gauge',
|
|
info: 'Timestamp of the last successful configuration reload.',
|
|
label: 'alertmanager_config_last_reload_success_timestamp_seconds',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'gauge',
|
|
info: 'Whether the last configuration reload attempt was successful.',
|
|
label: 'alertmanager_config_last_reload_successful',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'gauge',
|
|
info: 'Number of active aggregation groups',
|
|
label: 'alertmanager_dispatcher_aggregation_groups',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'The total number of observations for: Summary of latencies for the processing of alerts.',
|
|
label: 'alertmanager_dispatcher_alert_processing_duration_seconds_count',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'The total sum of observations for: Summary of latencies for the processing of alerts.',
|
|
label: 'alertmanager_dispatcher_alert_processing_duration_seconds_sum',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'Total number of times an HTTP request failed because the concurrency limit was reached.',
|
|
label: 'alertmanager_http_concurrency_limit_exceeded_total',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'The total count of observations for a bucket in the histogram: Histogram of latencies for HTTP requests.',
|
|
label: 'alertmanager_http_request_duration_seconds_bucket',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'The total number of observations for: Histogram of latencies for HTTP requests.',
|
|
label: 'alertmanager_http_request_duration_seconds_count',
|
|
type: 'constant',
|
|
},
|
|
{
|
|
detail: 'counter',
|
|
info: 'The total sum of observations for: Histogram of latencies for HTTP requests.',
|
|
label: 'alertmanager_http_request_duration_seconds_sum',
|
|
type: 'constant',
|
|
},
|
|
];
|