Heray-Was-Here
Server : Apache
System : Linux vps103298.mylogin.co 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : calvet ( 273824)
PHP Version : 7.4.33
Disable Function : NONE
Directory :  /usr/local/lib/node_modules/@google/gemini-cli/dist/src/ui/utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/local/lib/node_modules/@google/gemini-cli/dist/src/ui/utils/computeStats.js
/**
 * @license
 * Copyright 2025 Google LLC
 * SPDX-License-Identifier: Apache-2.0
 */
export function calculateErrorRate(metrics) {
    if (metrics.api.totalRequests === 0) {
        return 0;
    }
    return (metrics.api.totalErrors / metrics.api.totalRequests) * 100;
}
export function calculateAverageLatency(metrics) {
    if (metrics.api.totalRequests === 0) {
        return 0;
    }
    return metrics.api.totalLatencyMs / metrics.api.totalRequests;
}
export function calculateCacheHitRate(metrics) {
    if (metrics.tokens.prompt === 0) {
        return 0;
    }
    return (metrics.tokens.cached / metrics.tokens.prompt) * 100;
}
export const computeSessionStats = (metrics) => {
    const { models, tools } = metrics;
    const totalApiTime = Object.values(models).reduce((acc, model) => acc + model.api.totalLatencyMs, 0);
    const totalToolTime = tools.totalDurationMs;
    const agentActiveTime = totalApiTime + totalToolTime;
    const apiTimePercent = agentActiveTime > 0 ? (totalApiTime / agentActiveTime) * 100 : 0;
    const toolTimePercent = agentActiveTime > 0 ? (totalToolTime / agentActiveTime) * 100 : 0;
    const totalCachedTokens = Object.values(models).reduce((acc, model) => acc + model.tokens.cached, 0);
    const totalPromptTokens = Object.values(models).reduce((acc, model) => acc + model.tokens.prompt, 0);
    const cacheEfficiency = totalPromptTokens > 0 ? (totalCachedTokens / totalPromptTokens) * 100 : 0;
    const totalDecisions = tools.totalDecisions.accept +
        tools.totalDecisions.reject +
        tools.totalDecisions.modify;
    const successRate = tools.totalCalls > 0 ? (tools.totalSuccess / tools.totalCalls) * 100 : 0;
    const agreementRate = totalDecisions > 0
        ? (tools.totalDecisions.accept / totalDecisions) * 100
        : 0;
    return {
        totalApiTime,
        totalToolTime,
        agentActiveTime,
        apiTimePercent,
        toolTimePercent,
        cacheEfficiency,
        totalDecisions,
        successRate,
        agreementRate,
        totalCachedTokens,
        totalPromptTokens,
    };
};
//# sourceMappingURL=computeStats.js.map

Hry