import { css } from '@emotion/css'; import { GrafanaTheme2 } from '@grafana/data'; import { useStyles2 } from '@grafana/ui'; import { TimeOptions } from '../../types/time'; export function PromDurationDocs() { const styles = useStyles2(getPromDurationStyles); return (
Prometheus duration format consist of a number followed by a time unit.
Different units can be combined for more granularity.
Symbol
Time unit
Example
Multiple units combined
1m30s, 2h30m20s, 1w2d
); } function PromDurationDocsTimeUnit({ unit, name, example }: { unit: TimeOptions; name: string; example: string }) { const styles = useStyles2(getPromDurationStyles); return ( <>
{unit}
{name}
{example} ); } const getPromDurationStyles = (theme: GrafanaTheme2) => ({ unit: css({ fontWeight: theme.typography.fontWeightBold, }), list: css({ display: 'grid', gridTemplateColumns: 'max-content 1fr 2fr', gap: theme.spacing(1, 3), }), header: css({ display: 'contents', fontWeight: theme.typography.fontWeightBold, }), examples: css({ display: 'contents', '& > div': { gridColumn: '1 / span 2', }, }), });