diff --git a/src/charts/components/SingleChart/SingleChart.tsx b/src/charts/components/SingleChart/SingleChart.tsx index c92faa6..92b5ff5 100644 --- a/src/charts/components/SingleChart/SingleChart.tsx +++ b/src/charts/components/SingleChart/SingleChart.tsx @@ -90,7 +90,14 @@ function getQuery(options: PanelOptions) { case "called_by": return getCalledByRequestRate(options.functionName); case "function": - return getRequestRate(options.functionName); + return getRequestRate( + options.functionName, + options.moduleName + ? { + module: options.moduleName, + } + : undefined, + ); case "metric": return getSumQuery(options.metricName); default: diff --git a/src/queries.ts b/src/queries.ts index 486cea5..0006981 100644 --- a/src/queries.ts +++ b/src/queries.ts @@ -4,10 +4,13 @@ const HISTOGRAM_BUCKET_NAME = "function_calls_duration_bucket"; const ADD_BUILD_INFO_LABELS = "* on (instance, job) group_left(version, commit) last_over_time(build_info[1s])"; -export function getRequestRate(functionName: string) { +export function getRequestRate( + functionName: string, + labels: Record = {}, +) { return `# Rate of calls to the \`${functionName}\` function per second, averaged over 5 minute windows -${getSumQuery(COUNTER_NAME, { function: functionName })}`; +${getSumQuery(COUNTER_NAME, { ...labels, function: functionName })}`; } export function getCalledByRequestRate(functionName: string) { diff --git a/src/utils/getTitle.ts b/src/utils/getTitle.ts index ca25563..4f68b2e 100644 --- a/src/utils/getTitle.ts +++ b/src/utils/getTitle.ts @@ -5,6 +5,9 @@ export function getTitle(options: PanelOptions) { case "called_by": return `Called by ${options.functionName}`; case "function": + if (options.moduleName) { + return `${options.moduleName}::${options.functionName}`; + } return options.functionName; case "metric": return options.metricName;