You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"description": "JDBC Statements are cached in a weak key map by default. Set enabled:false to use a vanilla ConcurrentHashMap instead. Users who set enabled:false MUST call Statement.close() on every JDBC Statement."
|`newrelic-agent`| Main agent implementation; ServiceManager, configuration, harvest cycle, data transport. Built as a shadow JAR with all dependencies relocated. |
70
70
|`newrelic-weaver`| Bytecode weaving engine using ASM. Matches weave classes to target classes and applies transformations at class-load time. |
|`newrelic-weaver-api`| Annotations for authoring weave classes (`@Weave`, `@NewField`, `@WeaveWithAnnotation`). |
72
72
|`newrelic-api`| Public API for custom instrumentation (`@Trace`, `NewRelic.getAgent()`, custom events/metrics). Ships with no-op implementations. |
73
73
|`agent-bridge`| Runtime bridge between instrumentation modules and agent core. Provides `AgentBridge` static facade with volatile references swapped in when agent loads. |
* In extreme high-throughput scenarios, weak keyed eviction may throttle the CPU when it tries to perform maintenance on statement caches.
46
+
* Setting -Dnewrelic.config.jdbc_statement_weak_key_caching.enabled=false will convert the caches to ordinary ConcurrentHashMaps
47
+
* to alleviate this maintenance overhead.
48
+
* <p>
49
+
* Statements are only removed from the caches on Statement.close(), so this config MUST be enabled with caution. If the user does not properly close their
50
+
* statements, setting -Dnewrelic.config.jdbc_statement_weak_key_caching.enabled=false will cause memory issues. The user MUST explicitly call
51
+
* Statement.close() (not the implicit Statement.closeOnCompletion()) for cleanup to be guaranteed.
0 commit comments