twenty/packages/twenty-tinybird/pipes/getServerlessFunctionSuccessRate.pipe

35 lines
1.2 KiB
Plaintext
Raw Normal View History

INCLUDE "../includes/timeSeries.incl"
NODE timeSeriesServerlessFunctionSuccessRateData
SQL >
%
SELECT
{% if granularity == "hour" %} toStartOfHour(timestamp)
{% else %} toDateTime64(toStartOfDay(timestamp), 3)
{% end %} AS interval,
round(
if(
uniqIf(*, success = true) = 0,
0,
(uniqIf(*, success = true) - uniqIf(*, success = false)) / uniqIf(*, success = true)
),
2
) as success_rate
FROM serverlessFunctionEventMV
WHERE
true
AND workspaceId
={{ String(workspaceId, '20202020-1c25-4d02-bf25-6aeccf7ea419', required=True) }}
AND functionId = {{ String(functionId, 'ad018fc5-eace-4f7e-942f-929560a16459', required=True) }}
AND timestamp >= parseDateTime64BestEffort({{ String(start, '2024-11-01T00:00:00.000Z') }}, 3)
AND timestamp < parseDateTime64BestEffort({{ String(end, '2024-11-02T00:00:00.000Z') }}, 3)
GROUP BY interval
ORDER BY interval
NODE endpoint
SQL >
%
SELECT formatDateTime(interval, '%FT%T.000%z') as start, success_rate
FROM selectIntervalByGranularity
LEFT JOIN timeSeriesServerlessFunctionSuccessRateData USING interval