|
| 1 | +# Compass Metrics Configuration |
| 2 | +# This file maps metric names to their Compass metric source UUIDs |
| 3 | +# The full ARN is constructed as: {compass.base_arn}:metric-source/{component_uuid}/{metric_uuid} |
| 4 | + |
| 5 | +# Compass API Configuration |
| 6 | +compass: |
| 7 | + # Your Atlassian instance URL |
| 8 | + url: 'https://devnw.atlassian.net' |
| 9 | + |
| 10 | + # Base Compass ARN (instance identifier) |
| 11 | + base_arn: 'ari:cloud:compass:89436501-45fd-498f-9c7c-b0db10b968cb' |
| 12 | + |
| 13 | + # Component UUID (extracted from compass.yml component ID) |
| 14 | + # This will be auto-extracted from the component ID: only the first UUID (d819e7ce-7ec1-48ae-b718-cb3459fc6e06) |
| 15 | + # Full component ID: ari:cloud:compass:...:component/d819e7ce-7ec1-48ae-b718-cb3459fc6e06/1420c0b0-56eb-401f-8c63-63f93faeea91 |
| 16 | + # You can also specify it manually here if needed: |
| 17 | + # component_uuid: 'd819e7ce-7ec1-48ae-b718-cb3459fc6e06' |
| 18 | + |
| 19 | +# Metric Mappings |
| 20 | +# Each metric name maps to its specific metric source UUID |
| 21 | +# To get these UUIDs: |
| 22 | +# 1. Go to your Compass component page |
| 23 | +# 2. Navigate to the metric you want to configure |
| 24 | +# 3. Click "Copy cURL command" |
| 25 | +# 4. Extract the UUID from the "metricSourceId" (the part after the last /) |
| 26 | +metrics: |
| 27 | + # Code Quality Metrics |
| 28 | + test_coverage_percentage: |
| 29 | + uuid: '11d716cf-5667-427f-b12a-b3a769654646' |
| 30 | + description: 'Overall test coverage percentage of the codebase' |
| 31 | + |
| 32 | + total_tests: |
| 33 | + uuid: '4edc8ac9-ee6e-4e7d-9ab0-cdb5f56cd54b' |
| 34 | + description: 'Total number of test functions' |
| 35 | + |
| 36 | + failed_tests: |
| 37 | + uuid: '61c8881f-c858-4b88-afdd-f8e68d3cfd64' |
| 38 | + description: 'Number of failed tests' |
| 39 | + |
| 40 | + passed_tests: |
| 41 | + uuid: 'cd0a5e70-8bc1-4dde-a803-cc1411bbc99f' |
| 42 | + description: 'Number of passed tests' |
| 43 | + |
| 44 | + test_success_rate: |
| 45 | + uuid: '8fb59d8d-545b-4fc3-9ee7-00a45879b89b' |
| 46 | + description: 'Percentage of tests that pass' |
| 47 | + |
| 48 | + # Code Complexity Metrics |
| 49 | + avg_cyclomatic_complexity: |
| 50 | + uuid: '91450e63-fc2c-4082-b216-f5c0f74c4337' |
| 51 | + description: 'Average cyclomatic complexity across all functions' |
| 52 | + |
| 53 | + high_complexity_functions: |
| 54 | + uuid: 'f9413012-6459-4235-bc2b-227aa7f79256' |
| 55 | + description: 'Number of functions with complexity > 10' |
| 56 | + |
| 57 | + function_count: |
| 58 | + uuid: '98f2173b-300a-4b8f-9493-03032e37bd60' |
| 59 | + description: 'Total number of functions (excluding tests)' |
| 60 | + |
| 61 | + test_function_count: |
| 62 | + uuid: 'dddfb653-c4a3-40e9-bd07-f6f800f72474' |
| 63 | + description: 'Number of test functions' |
| 64 | + |
| 65 | + benchmark_function_count: |
| 66 | + uuid: 'fa8e56c7-8e7a-4b59-9ad1-445972bcfa2f' |
| 67 | + description: 'Number of benchmark functions' |
| 68 | + |
| 69 | + # Repository Metrics |
| 70 | + lines_of_code: |
| 71 | + uuid: '6ff6fc77-b77a-4780-8441-dcd4e075d23e' |
| 72 | + description: 'Total lines of Go code' |
| 73 | + |
| 74 | + go_files_count: |
| 75 | + uuid: 'a0e73f35-5207-41d6-a955-a8e617d5ec17' |
| 76 | + description: 'Number of Go source files' |
| 77 | + |
| 78 | + package_count: |
| 79 | + uuid: '41798047-20de-4011-a42f-e4a17485d6d6' |
| 80 | + description: 'Number of Go packages' |
| 81 | + |
| 82 | + direct_dependencies: |
| 83 | + uuid: '28392e75-9434-45dd-9119-b8bde436688f' |
| 84 | + description: 'Number of direct Go module dependencies' |
| 85 | + |
| 86 | + # Performance Metrics |
| 87 | + benchmark_count: |
| 88 | + uuid: '2ab5c86e-bf1f-434a-bea6-920907fccd1d' |
| 89 | + description: 'Number of benchmark tests' |
| 90 | + |
| 91 | + avg_benchmark_ns_per_op: |
| 92 | + uuid: 'd4a2e683-69de-411b-b05c-2b5de50752c8' |
| 93 | + description: 'Average nanoseconds per operation across benchmarks' |
| 94 | + |
| 95 | + avg_benchmark_bytes_per_op: |
| 96 | + uuid: 'ce949ae0-e67b-4de8-9dcf-d53eeb4b2484' |
| 97 | + description: 'Average bytes per operation across benchmarks' |
| 98 | + |
| 99 | + avg_benchmark_allocs_per_op: |
| 100 | + uuid: 'aa4a0bbf-34cf-4748-96c2-62dbc5a2498e' |
| 101 | + description: 'Average allocations per operation across benchmarks' |
| 102 | + |
| 103 | + slowest_benchmark_ns_per_op: |
| 104 | + uuid: 'acd737c6-3606-4eb7-9d04-6c884ed940de' |
| 105 | + description: 'Slowest benchmark (highest ns/op)' |
| 106 | + |
| 107 | + fastest_benchmark_ns_per_op: |
| 108 | + uuid: '857c7ccc-030d-4ebc-a883-4cfc1406dc3d' |
| 109 | + description: 'Fastest benchmark (lowest ns/op)' |
| 110 | + |
| 111 | + benchmark_performance_variance: |
| 112 | + uuid: 'a8abd71d-0d5a-4ec9-8862-587bae2ae003' |
| 113 | + description: 'Standard deviation of benchmark performance' |
| 114 | + |
| 115 | + # Development Activity Metrics |
| 116 | + total_commits: |
| 117 | + uuid: 'ed4fd8ea-79ad-47eb-83ae-24581e28b3b7' |
| 118 | + description: 'Total number of commits in the repository' |
| 119 | + |
| 120 | + commits_last_30_days: |
| 121 | + uuid: '6dcb75d4-e5f1-47e1-9824-cffa8f634151' |
| 122 | + description: 'Number of commits in the last 30 days' |
| 123 | + |
| 124 | + # Additional Benchmark Metrics (from JSON parsing) |
| 125 | + successful_benchmarks: |
| 126 | + uuid: '47c1d92a-02a2-42c1-b584-3c1ef2dd81f0' |
| 127 | + description: 'Number of successful benchmark runs' |
| 128 | + |
| 129 | + failed_benchmarks: |
| 130 | + uuid: '6cbcc1a2-5250-400b-b064-48aecb881c5a' |
| 131 | + description: 'Number of failed benchmark runs' |
| 132 | + |
| 133 | + benchmark_success_rate: |
| 134 | + uuid: 'dc4c97bd-8574-458c-9a3b-090f32aedb75' |
| 135 | + description: 'Percentage of benchmarks that pass' |
| 136 | + |
| 137 | + total_benchmark_time_seconds: |
| 138 | + uuid: '53d4eb4b-4cfb-4b7d-b087-833c679a50df' |
| 139 | + description: 'Total benchmark execution time in seconds' |
| 140 | + |
| 141 | +# Configuration for metric pushing behavior |
| 142 | +settings: |
| 143 | + # Whether to continue pushing other metrics if one fails |
| 144 | + continue_on_error: true |
| 145 | + |
| 146 | + # Whether to validate ARN format before pushing |
| 147 | + validate_arn_format: true |
| 148 | + |
| 149 | + # Timeout for each metric push request (in seconds) |
| 150 | + request_timeout: 30 |
| 151 | + |
| 152 | + # Whether to log detailed responses for debugging |
| 153 | + verbose_logging: true |
| 154 | +# NOTE: Replace all the example ARNs above with the actual metric source ARNs from your Compass instance |
| 155 | +# The ARNs shown are examples and will not work without being updated to match your actual metrics |
0 commit comments