# Profiling

Record: `arch:profiling`
Kind: technique
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: recommended
Scope: runtime, code path
Canonical: https://banes-lab.com/ontology#arch-profiling

## Repair

- Refactored by: Profile Path, Target Hotspot
- Detected by: missing profile evidence
- Violated by: performance decisions without profiling
- Measured by: hotspot attribution
- Enforced by: performance review

## requires

- [Representative Workload](https://banes-lab.com/records/lex/representative-workload.md)

## reinforces

- [Performance Engineering](https://banes-lab.com/records/arch/performance-engineering.md)

## enables

- [Bottleneck Detection](https://banes-lab.com/records/lex/bottleneck-detection.md)

## conflicts-with

- [Guesswork](https://banes-lab.com/records/lex/guesswork.md)

## tensions-with

- [Measurement Overhead](https://banes-lab.com/records/lex/measurement-overhead.md)

## tensions

- [Profiling Measurement Overhead](https://banes-lab.com/records/tension/measurement-overhead-profiling.md)

## referenced-by

- [Performance Engineering](https://banes-lab.com/records/arch/performance-engineering.md)
- [Optimization](https://banes-lab.com/records/arch/optimization.md)
- [Bottleneck Analysis](https://banes-lab.com/records/arch/bottleneck-analysis.md)
