"use strict";
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (C) 2024-2026 Gracker (Chris)
// This file is part of SmartPerfetto. See LICENSE for details.
Object.defineProperty(exports, "__esModule", { value: true });
exports.STANDARD_COMPARISON_METRIC_KEYS = exports.STANDARD_COMPARISON_METRICS = exports.MULTI_TRACE_COMPARISON_RUN_SCHEMA_VERSION = exports.COMPARISON_MATRIX_SCHEMA_VERSION = exports.ANALYSIS_RESULT_SNAPSHOT_SCHEMA_VERSION = void 0;
exports.ANALYSIS_RESULT_SNAPSHOT_SCHEMA_VERSION = 'analysis_result_snapshot@1';
exports.COMPARISON_MATRIX_SCHEMA_VERSION = 'comparison_matrix@1';
exports.MULTI_TRACE_COMPARISON_RUN_SCHEMA_VERSION = 'multi_trace_comparison_run@1';
exports.STANDARD_COMPARISON_METRICS = [
    { key: 'startup.total_ms', label: 'Startup total duration', group: 'startup', unit: 'ms', direction: 'lower_is_better', aggregation: 'single' },
    { key: 'startup.first_frame_ms', label: 'First frame duration', group: 'startup', unit: 'ms', direction: 'lower_is_better', aggregation: 'single' },
    { key: 'startup.bind_application_ms', label: 'Bind application duration', group: 'startup', unit: 'ms', direction: 'lower_is_better', aggregation: 'single' },
    { key: 'startup.activity_start_ms', label: 'Activity start duration', group: 'startup', unit: 'ms', direction: 'lower_is_better', aggregation: 'single' },
    { key: 'startup.main_thread_blocked_ms', label: 'Main thread blocked duration', group: 'startup', unit: 'ms', direction: 'lower_is_better', aggregation: 'sum' },
    { key: 'scrolling.avg_fps', label: 'Average FPS', group: 'fps', unit: 'fps', direction: 'higher_is_better', aggregation: 'avg' },
    { key: 'scrolling.frame_count', label: 'Frame count', group: 'fps', unit: 'count', direction: 'neutral', aggregation: 'sum' },
    { key: 'scrolling.jank_count', label: 'Jank frame count', group: 'jank', unit: 'count', direction: 'lower_is_better', aggregation: 'sum' },
    { key: 'scrolling.jank_rate_pct', label: 'Jank rate', group: 'jank', unit: '%', direction: 'lower_is_better', aggregation: 'avg' },
    { key: 'scrolling.p50_frame_ms', label: 'P50 frame duration', group: 'fps', unit: 'ms', direction: 'lower_is_better', aggregation: 'p50' },
    { key: 'scrolling.p95_frame_ms', label: 'P95 frame duration', group: 'fps', unit: 'ms', direction: 'lower_is_better', aggregation: 'p95' },
    { key: 'scrolling.p99_frame_ms', label: 'P99 frame duration', group: 'fps', unit: 'ms', direction: 'lower_is_better', aggregation: 'p99' },
    { key: 'cpu.main_thread_running_ms', label: 'Main thread running time', group: 'cpu', unit: 'ms', direction: 'lower_is_better', aggregation: 'sum' },
    { key: 'cpu.main_thread_runnable_ms', label: 'Main thread runnable time', group: 'cpu', unit: 'ms', direction: 'lower_is_better', aggregation: 'sum' },
    { key: 'cpu.big_core_pct', label: 'Big core residency', group: 'cpu', unit: '%', direction: 'neutral', aggregation: 'avg' },
    { key: 'cpu.avg_freq_mhz', label: 'Average CPU frequency', group: 'cpu', unit: 'mhz', direction: 'neutral', aggregation: 'avg' },
    { key: 'trace.duration_ms', label: 'Trace duration', group: 'environment', unit: 'ms', direction: 'neutral', aggregation: 'single' },
    { key: 'trace.device_model', label: 'Device model', group: 'environment', unit: 'text', direction: 'neutral', aggregation: 'single' },
    { key: 'trace.android_version', label: 'Android version', group: 'environment', unit: 'text', direction: 'neutral', aggregation: 'single' },
    { key: 'trace.capture_config_summary', label: 'Capture config', group: 'environment', unit: 'text', direction: 'neutral', aggregation: 'single' },
];
exports.STANDARD_COMPARISON_METRIC_KEYS = exports.STANDARD_COMPARISON_METRICS.map(metric => metric.key);
//# sourceMappingURL=multiTraceComparison.js.map