# Bottleneck Analysis

> The activity of finding the stage that limits a system's overall throughput or latency, from traces and profiles.

Record: `architecture:bottleneck-analysis`
Kind: activity
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: recommended
Scope: code path, system
Canonical: https://banes-lab.com/ontology#architecture-bottleneck-analysis

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Benchmarking](https://banes-lab.com/records/architecture/benchmarking.md) and before [Resource Utilization](https://banes-lab.com/records/architecture/resource-utilization.md).

## Repair

- Refactored by: Remove Bottleneck, Parallelize, Cache
- Detected by: performance work without hotspot evidence
- Violated by: optimizing non-bottleneck code
- Measured by: bottleneck contribution percentage
- Enforced by: performance review

## Requires

- [Profiling](https://banes-lab.com/records/architecture/profiling.md)
- [Metrics](https://banes-lab.com/records/lexicon/metrics.md)

## Reinforces

- [Optimization](https://banes-lab.com/records/architecture/optimization.md)

## Enables

- [Targeted Improvement](https://banes-lab.com/records/lexicon/targeted-improvement.md)

## Conflicts with

- [Local Micro-Optimization](https://banes-lab.com/records/lexicon/local-micro-optimization.md)

## In tension with

- [Distributed Complexity](https://banes-lab.com/records/lexicon/distributed-complexity.md)

## Tensions

- [Bottleneck Analysis / Distributed Complexity](https://banes-lab.com/records/tension/bottleneck-analysis-distributed-complexity.md)

## Severity

- [recommended](https://banes-lab.com/records/vocabulary/severity-recommended.md)

## Category

- [Scalability / Performance / Optimization](https://banes-lab.com/records/architecture-category/scalability-performance-optimization.md)

## Linked from

- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/principles/architecture-category-scalability-performance-optimization.md)
- [Core Vocabulary](https://banes-lab.com/ontology/lexicon/lexicon-category-core-vocabulary.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/lexicon/lexicon-category-scalability-performance-optimization.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
