## Summary Adds a non-intrusive warning banner in the query editor that alerts users when the selected time range exceeds 1 year (365 days). This helps users understand that their query may return a large amount of data and could take longer to execute, without blocking or interrupting their workflow. Part of https://github.com/grafana/oss-big-tent-squad/issues/127 ## Changes - Added `TIME_RANGE_WARNING_THRESHOLD_DAYS` constant (365 days) in `src/datasource/constants.ts` - Created new `TimeRangeWarning` component in `src/datasource/components/TimeRangeWarning.tsx` - Integrated the warning component into the main `QueryEditor` component ## How it works - When the dashboard time range is >= 365 days, a warning banner appears at the top of the query editor - The warning displays the formatted duration (e.g., "1 year and 30 days") - The warning is purely informational - queries still execute normally - Uses Grafana theme colors for consistent styling in both light and dark modes ## Screenshot The warning appears as a subtle banner with a warning icon: <img width="705" height="374" alt="grafik" src="https://github.com/user-attachments/assets/eb0ace4b-524a-488e-8f88-b7e9523660b0" /> ## Why Queries spanning years of data can return millions of data points and potentially overload the Zabbix server. This proactive warning helps users make informed decisions about their query scope without adding friction to the normal query flow.
56 lines
1.5 KiB
TypeScript
56 lines
1.5 KiB
TypeScript
// Plugin IDs
|
|
export const ZABBIX_PROBLEMS_PANEL_ID = 'alexanderzobnin-zabbix-triggers-panel';
|
|
export const ZABBIX_DS_ID = 'alexanderzobnin-zabbix-datasource';
|
|
|
|
// Data point
|
|
export const DATAPOINT_VALUE = 0;
|
|
export const DATAPOINT_TS = 1;
|
|
|
|
// Editor modes
|
|
export const MODE_METRICS = '0';
|
|
export const MODE_ITSERVICE = '1';
|
|
export const MODE_TEXT = '2';
|
|
export const MODE_ITEMID = '3';
|
|
export const MODE_TRIGGERS = '4';
|
|
export const MODE_PROBLEMS = '5';
|
|
export const MODE_MACROS = '6';
|
|
|
|
// Triggers severity
|
|
export const SEV_NOT_CLASSIFIED = 0;
|
|
export const SEV_INFORMATION = 1;
|
|
export const SEV_WARNING = 2;
|
|
export const SEV_AVERAGE = 3;
|
|
export const SEV_HIGH = 4;
|
|
export const SEV_DISASTER = 5;
|
|
|
|
export const SHOW_ALL_TRIGGERS = [0, 1];
|
|
export const SHOW_ALL_EVENTS = [0, 1];
|
|
export const SHOW_OK_EVENTS = 1;
|
|
|
|
// Acknowledge
|
|
export const ZBX_ACK_ACTION_NONE = 0;
|
|
export const ZBX_ACK_ACTION_CLOSE = 1;
|
|
export const ZBX_ACK_ACTION_ACK = 2;
|
|
export const ZBX_ACK_ACTION_ADD_MESSAGE = 4;
|
|
export const ZBX_ACK_ACTION_CHANGE_SEVERITY = 8;
|
|
|
|
export const TRIGGER_SEVERITY = [
|
|
{ val: 0, text: 'Not classified' },
|
|
{ val: 1, text: 'Information' },
|
|
{ val: 2, text: 'Warning' },
|
|
{ val: 3, text: 'Average' },
|
|
{ val: 4, text: 'High' },
|
|
{ val: 5, text: 'Disaster' },
|
|
];
|
|
|
|
/** Minimum interval for SLA over time (1 hour) */
|
|
export const MIN_SLA_INTERVAL = 3600;
|
|
|
|
export const RANGE_VARIABLE_VALUE = 'range_series';
|
|
|
|
export const DEFAULT_ZABBIX_PROBLEMS_LIMIT = 1001;
|
|
|
|
export const ITEM_COUNT_WARNING_THRESHOLD = 500;
|
|
|
|
export const TIME_RANGE_WARNING_THRESHOLD_DAYS = 365;
|