Skip to main content
Skip table of contents

Endpoint performance

This report provides a summary of the average and maximum runtime for each endpoint over the past 8 days. It helps in analyzing the performance of endpoints by comparing daily runtime metrics.

Key Components:
  1. Endpoint (max 100 chars):

    • Displays the endpoint's name or identifier, truncated to a maximum of 100 characters.

  2. Daily Metrics:

    • Today AVG / MAX: Shows the average and maximum runtime for today.

    • Yesterday AVG / MAX: Shows the average and maximum runtime for yesterday.

    • 2 days ago AVG / MAX: Shows the average and maximum runtime for two days ago.

    • 8 days ago AVG / MAX: Shows the average and maximum runtime for eight days ago.

This report allows users to monitor and compare the performance of endpoints over the last eight days. By providing both average and maximum runtime for each day, it helps identify trends, detect anomalies, and assess the performance consistency of different endpoints.

image-20240809-155932.png

Oracle

SQL
SELECT
    SUBSTR(ENDPOINT, 1, 100) AS "ENDPOINT (max 100 chars)",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "Today AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 1 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 1 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "Yesterday AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 2 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 2 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "2 days ago AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 3 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 3 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "3 days ago AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 4 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 4 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "4 days ago AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 5 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 5 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "5 days ago AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 6 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 6 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "6 days ago AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 7 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 7 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "7 days ago AVG / MAX",
    CAST(ROUND(AVG(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 8 THEN RUNTIME END), 2) AS VARCHAR2(20))
    || ' / ' ||
    CAST(ROUND(MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) - 8 THEN RUNTIME END), 2) AS VARCHAR2(20)) AS "8 days ago AVG / MAX"
FROM
    LOG_ENDPOINT
WHERE
    TIME_CREATED >= TRUNC(SYSDATE) - 8
GROUP BY
    SUBSTR(ENDPOINT, 1, 100)
ORDER BY
    MAX(CASE WHEN TRUNC(TIME_CREATED) = TRUNC(SYSDATE) THEN RUNTIME END) DESC

MSSQL

SQL
SELECT
    SUBSTRING(ENDPOINT, 1, 100) AS [ENDPOINT (max 100 chars)],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(GETDATE() AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(GETDATE() AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [Today AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -1, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -1, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [Yesterday AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -2, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -2, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [2 days ago AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -3, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -3, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [3 days ago AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -4, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -4, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [4 days ago AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -5, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -5, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [5 days ago AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -6, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -6, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [6 days ago AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -7, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -7, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [7 days ago AVG / MAX],
    
    CAST(ROUND(AVG(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -8, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20))
    + ' / ' +
    CAST(ROUND(MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(DATEADD(DAY, -8, GETDATE()) AS DATE) THEN RUNTIME END), 2) AS VARCHAR(20)) AS [8 days ago AVG / MAX]

FROM
    LOG_ENDPOINT
WHERE
    TIME_CREATED >= DATEADD(DAY, -8, GETDATE())
GROUP BY
    SUBSTRING(ENDPOINT, 1, 100)
ORDER BY
    MAX(CASE WHEN CAST(TIME_CREATED AS DATE) = CAST(GETDATE() AS DATE) THEN RUNTIME END) DESC
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.