Flags to control potentially "expensive" functionality for high-volume implementations #390
Labels
Layer: Configuration
Items related to the custom hierarchy setting LoggerSettings__c or any included custom metadata type
optimization
Type: Enhancement
New feature or request
Milestone
New Feature Summary
This issue kind of builds on top of Issue #389.
We are running an older version (v4.6.16), so some of this may be reflected in newer versions.
We also have a very high-volume implementation. We are currently seeing ~2M log records / day, and are still in the process of bringing more users on-board. We are looking to turn our log level down, but we still may have >1M logs / day.
At this volume, even "simple" queries that use an index may be expensive. Recently Salesforce Support raised a concern with the LogEntryEventHandler class saying that it was consuming 50% of DB CPU. That class only has a few SOQL queries and most are using an index or should not scan a large number of records. The issue is that this class is being invoked so many times each day that even small or simple queries are using a lot of DB CPU in the aggregate.
I spoke about this specific class in issue #389. What I want from this issue is to identify additional functionality in Nebula that might be "nice-to-have" and could be disabled to support high-volume implementations of Nebula. I think another example may be in LogEntryHandler where it is querying the record(s) associated with the Log Entry so that the record name can be put on the Log Entry record. While this is "nice-to-have", it is expensive and we would gladly forgo it in order to improve performance/scalability.
The text was updated successfully, but these errors were encountered: