mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Add min time interval in opentsdb plugin (#31534)
* #31533 Add min time interval in Opentsdb plugin * add docs to explain min time interval in opentsdb plugin * Update docs/sources/datasources/opentsdb.md Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com> * Update docs/sources/datasources/opentsdb.md Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com> * optimize docs Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
This commit is contained in:
parent
067bd5e604
commit
4a2ba2a3ab
@ -23,6 +23,22 @@ To access OpenTSDB settings, hover your mouse over the **Configuration** (gear)
|
|||||||
| `Version` | Version = opentsdb version, either <=2.1 or 2.2 |
|
| `Version` | Version = opentsdb version, either <=2.1 or 2.2 |
|
||||||
| `Resolution` | Metrics from opentsdb may have datapoints with either second or millisecond resolution. |
|
| `Resolution` | Metrics from opentsdb may have datapoints with either second or millisecond resolution. |
|
||||||
| `Lookup Limit`| Default is 1000. |
|
| `Lookup Limit`| Default is 1000. |
|
||||||
|
| `Min time interval`| A lower limit for the auto group by time interval. Recommended to be set to write frequency, for example `1m` if your data is written every minute. This option can also be overridden/configured in a dashboard panel under data source options. It's important to note that this value _must_ be formatted as a number followed by a [valid time identifier](#Supported min time identifiers), e.g. `1m` (1 minute) or `30s` (30 seconds). |
|
||||||
|
|
||||||
|
### Supported min time identifiers
|
||||||
|
|
||||||
|
The following time identifiers are supported:
|
||||||
|
|
||||||
|
| Identifier | Description |
|
||||||
|
| ---------- | ----------- |
|
||||||
|
| `y` | Years (365 days)|
|
||||||
|
| `n` | Months (30 days)|
|
||||||
|
| `w` | Weeks (7 days)|
|
||||||
|
| `d` | Days (24 hours)|
|
||||||
|
| `h` | Hours |
|
||||||
|
| `m` | Minutes |
|
||||||
|
| `s` | Seconds |
|
||||||
|
| `ms` | Milliseconds |
|
||||||
|
|
||||||
## Query editor
|
## Query editor
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { SyntheticEvent } from 'react';
|
import React, { SyntheticEvent } from 'react';
|
||||||
import { InlineFormLabel, LegacyForms } from '@grafana/ui';
|
import { EventsWithValidation, regexValidation, InlineFormLabel, LegacyForms } from '@grafana/ui';
|
||||||
const { Select, Input } = LegacyForms;
|
const { Select, Input, FormField } = LegacyForms;
|
||||||
import { DataSourceSettings, SelectableValue } from '@grafana/data';
|
import { DataSourceSettings, SelectableValue } from '@grafana/data';
|
||||||
import { OpenTsdbOptions } from '../types';
|
import { OpenTsdbOptions } from '../types';
|
||||||
|
|
||||||
@ -53,6 +53,30 @@ export const OpenTsdbDetails = (props: Props) => {
|
|||||||
onChange={onInputChangeHandler('lookupLimit', value, onChange)}
|
onChange={onInputChangeHandler('lookupLimit', value, onChange)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="gf-form-inline">
|
||||||
|
<div className="gf-form">
|
||||||
|
<FormField
|
||||||
|
labelWidth={7}
|
||||||
|
label="Min time interval"
|
||||||
|
inputEl={
|
||||||
|
<Input
|
||||||
|
className={'width-6'}
|
||||||
|
value={value.jsonData.interval || ''}
|
||||||
|
onChange={onInputChangeHandler('interval', value, onChange)}
|
||||||
|
placeholder="1m"
|
||||||
|
validationEvents={{
|
||||||
|
[EventsWithValidation.onBlur]: [
|
||||||
|
regexValidation(
|
||||||
|
/^\d+(ms|[Mwdhmsy])$/,
|
||||||
|
'Value is not valid, you can use number with time unit specifier: y, M, w, d, h, m, s'
|
||||||
|
),
|
||||||
|
],
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -24,6 +24,7 @@ export default class OpenTsDatasource extends DataSourceApi<OpenTsdbQuery, OpenT
|
|||||||
tsdbVersion: any;
|
tsdbVersion: any;
|
||||||
tsdbResolution: any;
|
tsdbResolution: any;
|
||||||
lookupLimit: any;
|
lookupLimit: any;
|
||||||
|
interval: any;
|
||||||
tagKeys: any;
|
tagKeys: any;
|
||||||
|
|
||||||
aggregatorsPromise: any;
|
aggregatorsPromise: any;
|
||||||
@ -40,6 +41,7 @@ export default class OpenTsDatasource extends DataSourceApi<OpenTsdbQuery, OpenT
|
|||||||
this.tsdbVersion = instanceSettings.jsonData.tsdbVersion || 1;
|
this.tsdbVersion = instanceSettings.jsonData.tsdbVersion || 1;
|
||||||
this.tsdbResolution = instanceSettings.jsonData.tsdbResolution || 1;
|
this.tsdbResolution = instanceSettings.jsonData.tsdbResolution || 1;
|
||||||
this.lookupLimit = instanceSettings.jsonData.lookupLimit || 1000;
|
this.lookupLimit = instanceSettings.jsonData.lookupLimit || 1000;
|
||||||
|
this.interval = instanceSettings.jsonData.interval || '30s';
|
||||||
this.tagKeys = {};
|
this.tagKeys = {};
|
||||||
|
|
||||||
this.aggregatorsPromise = null;
|
this.aggregatorsPromise = null;
|
||||||
|
@ -8,4 +8,5 @@ export interface OpenTsdbOptions extends DataSourceJsonData {
|
|||||||
tsdbVersion: number;
|
tsdbVersion: number;
|
||||||
tsdbResolution: number;
|
tsdbResolution: number;
|
||||||
lookupLimit: number;
|
lookupLimit: number;
|
||||||
|
interval: string;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user