mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-22 18:06:35 +00:00
* feat: uplot graph is added and some re-rendering is reduced * chore: uplot is updated * feat: changes for the graph is updated * refactor: added y-axis unit in uplot graph (#3818) * refactor: added y-axis unit in uplot graph * refactor: removed the ticks stroke from both access * feat: create tooltip plugin for uplot charts (#3823) * feat: create tooltip plugin for uplot charts * feat: show labels in legends section --------- Co-authored-by: Yunus M <myounis.ar@live.com> * feat: uplot points is handled (#3817) * chore: resize is updated * chore: uplot chart dark mode is updated * chore: widget is updated * chore: options is updated * chore: value panel is updated * feat: uplot chart is updated * feat: onDrag is updated * feat: data for graph is updated * feat: alert section is fixed * feat: not found is updated * feat: fix dashboard title section and other uplot parity issues (#3839) * feat: fix dashboard title section and other uplot parity issues * feat: update scrollbar style for legend container * chore: initial width is updated * feat: onlcick is updated * feat: widget full view fixes (#3847) Co-authored-by: Palash Gupta <palashgdev@gmail.com> * feat: show labels in tooltip overlay (#3867) * chore: memo is added * feat: toggle is updated * fix: Tooltip values is now fixed (#3894) * chore: tooltip is updated * chore: avoided the compute based on show * chore: tooltip data is updated * feat: resize graph based on the y axis max label length (#3895) * chore: build is in progress to fix * [Feat]: Full View (#3896) * fix: initial setup for full view done * refactor: done with the graph manager logic * refactor: done with the toggle issue in full view * refactor: done with toggle of data * refactor: done with legend to table mapping * refactor: ts error * chore: utils is updated * refactor: updated types * fix: option type fix --------- Co-authored-by: Palash Gupta <palashgdev@gmail.com> * feat: use spline renderer to plot curved line graphs, full view impor… (#3919) * feat: use spline renderer to plot curved line graphs, full view imporvements * feat: increase min height for panel * chore: move code to utils and plugins in uplot folder * chore: update tooltip styles * fix: add panel issue in dashboard (#3920) * fix: update on click plugin opts import path * feat: replace time series graph in logs explorer and trace explorer with uplot (#3925) * feat: alert threshold is added (#3931) * feat: uplot styles are fixed (#3941) * Fix/app dex aligment (#3944) * feat: uplot styles are fixed * fix: app dex aligment * fix: full view after saving is fixed * feat: css is updated (#3948) * feat: on click handler position - factor in the padding on top and left * fix: timestamp for start and end is updated for view trace (#3966) * fix: timestamp for start and end is updated for view trace * chore: timestamp is added * fix: loading over flow is fixed (#3969) --------- Co-authored-by: Rajat Dabade <rajat@signoz.io> Co-authored-by: Yunus M <myounis.ar@live.com>
59 lines
1.3 KiB
TypeScript
59 lines
1.3 KiB
TypeScript
import { formattedValueToString, getValueFormat } from '@grafana/data';
|
|
|
|
export const getYAxisFormattedValue = (
|
|
value: string,
|
|
format: string,
|
|
): string => {
|
|
let decimalPrecision: number | undefined;
|
|
const parsedValue = getValueFormat(format)(
|
|
parseFloat(value),
|
|
undefined,
|
|
undefined,
|
|
undefined,
|
|
);
|
|
try {
|
|
const decimalSplitted = parsedValue.text.split('.');
|
|
if (decimalSplitted.length === 1) {
|
|
decimalPrecision = 0;
|
|
} else {
|
|
const decimalDigits = decimalSplitted[1].split('');
|
|
decimalPrecision = decimalDigits.length;
|
|
let nonZeroCtr = 0;
|
|
for (let idx = 0; idx < decimalDigits.length; idx += 1) {
|
|
if (decimalDigits[idx] !== '0') {
|
|
nonZeroCtr += 1;
|
|
if (nonZeroCtr >= 2) {
|
|
decimalPrecision = idx + 1;
|
|
}
|
|
} else if (nonZeroCtr) {
|
|
decimalPrecision = idx;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
return formattedValueToString(
|
|
getValueFormat(format)(
|
|
parseFloat(value),
|
|
decimalPrecision,
|
|
undefined,
|
|
undefined,
|
|
),
|
|
);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
return `${parseFloat(value)}`;
|
|
};
|
|
|
|
export const getToolTipValue = (value: string, format?: string): string => {
|
|
try {
|
|
return formattedValueToString(
|
|
getValueFormat(format)(parseFloat(value), undefined, undefined, undefined),
|
|
);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
return `${value}`;
|
|
};
|