mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-22 05:16:00 +00:00
max duration profiler measure
This commit is contained in:
@@ -214,6 +214,7 @@
|
||||
tabComponent: 'ProfilerTab',
|
||||
props: {
|
||||
jslid: `archive://${data.folderName}/${data.fileName}`,
|
||||
// engine: eng.engine,
|
||||
profilerFormatterFunction: eng.profilerFormatterFunction,
|
||||
profilerTimestampFunction: eng.profilerTimestampFunction,
|
||||
profilerChartAggregateFunction: eng.profilerChartAggregateFunction,
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
let chartData;
|
||||
|
||||
$: connection = useConnectionInfo({ conid });
|
||||
$: engine = findEngineDriver($connection, $extensions);
|
||||
$: driver = findEngineDriver($connection, $extensions);
|
||||
|
||||
onMount(() => {
|
||||
intervalId = setInterval(() => {
|
||||
@@ -123,15 +123,15 @@
|
||||
isLoadingChart = true;
|
||||
|
||||
const colors = randomcolor({
|
||||
count: (profilerChartMeasures || engine.profilerChartMeasures).length,
|
||||
count: (profilerChartMeasures || driver.profilerChartMeasures).length,
|
||||
seed: 5,
|
||||
});
|
||||
|
||||
const data = await apiCall('jsldata/extract-timeline-chart', {
|
||||
jslid,
|
||||
timestampFunction: profilerTimestampFunction || engine.profilerTimestampFunction,
|
||||
aggregateFunction: profilerChartAggregateFunction || engine.profilerChartAggregateFunction,
|
||||
measures: profilerChartMeasures || engine.profilerChartMeasures,
|
||||
timestampFunction: profilerTimestampFunction || driver.profilerTimestampFunction,
|
||||
aggregateFunction: profilerChartAggregateFunction || driver.profilerChartAggregateFunction,
|
||||
measures: profilerChartMeasures || driver.profilerChartMeasures,
|
||||
});
|
||||
chartData = {
|
||||
...data,
|
||||
@@ -202,7 +202,7 @@
|
||||
<JslDataGrid
|
||||
{jslid}
|
||||
listenInitializeFile
|
||||
formatterFunction={profilerFormatterFunction || engine?.profilerFormatterFunction}
|
||||
formatterFunction={profilerFormatterFunction || driver?.profilerFormatterFunction}
|
||||
/>
|
||||
</svelte:fragment>
|
||||
<svelte:fragment slot="2">
|
||||
|
||||
@@ -40,10 +40,7 @@ const driver = {
|
||||
profilerChartMeasures: [
|
||||
{ label: 'Req count/s', field: 'countPerSec' },
|
||||
{ label: 'Avg duration', field: 'avgDuration' },
|
||||
|
||||
// { label: 'Req count/s', field: 'countPerSec', perSecond: true },
|
||||
// { field: 'countAll', hidden: true },
|
||||
// { label: 'Avg duration', field: 'millis', perField: 'countAll' },
|
||||
{ label: 'Max duration', field: 'maxDuration' },
|
||||
],
|
||||
databaseUrlPlaceholder: 'e.g. mongodb://username:password@mongodb.mydomain.net/dbname',
|
||||
|
||||
|
||||
@@ -78,12 +78,14 @@ function aggregateProfileChartEntry(aggr, obj, stepDuration) {
|
||||
|
||||
const countAll = (aggr.countAll || 0) + 1;
|
||||
const sumMillis = (aggr.sumMillis || 0) + obj.millis;
|
||||
const maxDuration = obj.millis > (aggr.maxDuration || 0) ? obj.millis : aggr.maxDuration || 0;
|
||||
|
||||
return {
|
||||
countAll,
|
||||
sumMillis,
|
||||
countPerSec: (countAll / stepDuration) * 1000,
|
||||
avgDuration: sumMillis / countAll,
|
||||
maxDuration,
|
||||
};
|
||||
|
||||
// return {
|
||||
|
||||
Reference in New Issue
Block a user