Introduction of Malformed Raw Line Count Kensho Alert
Summary
There is a universal logger -- Pipeline Logs to log exceptions for dropped rows in the pipeline such as CookGwsLogsHourly, CookAriaEventsLogsHourly, CookLogicalSearchImpression, etc.
- If a row is dropped anywhere in the script at any stage then it should be trapped into the logger.
- For C# code like processors and reducers that trap exceptions - catch it in the script and log it.
We setup a monitor against the MalfomedRawLineCount streamset output to count the dropped line count by segment/dimensions.
Resources and References
Resource | Reference |
---|---|
Data Feed | Malformed Raw Line Count (legacy data feed |
Metric | DroppedLineCount |
Data Source | Cosmos Stream |
ADF Pipeline | MalformedRawLineCountJob |
Alert Detection Configuration
Anomalies detected by three conditions with "and" operator:
- Value above boundary is an anomaly.
- Value above 10000 is an anomaly.
- Change above the threshold 50% over previous 1 points is an anomaly.
Since it is a monitor on malformed lines count, we only concern about the value increased and treat a low count value as normal.
Raw Datasets
Source cosmos streams to calculate Malforemd Raw Line Count.
A similar chart with more column info can be found here.
Dimensions
There are 6 dimensions in this monitor:
DimensionName | Meaning | Values |
---|---|---|
AggregationLevel | In which aggregation level the line is dropped | Request / Event / Logical / Impression |
AppEntryPoint | Partner + "." + ScenarioName | eg:exchangeshared.owa.react |
ErrorType | Briefly describe the dropping reason | All enum defined inLogName.bond |
Ring | The Server Ring the dropping line belongs to (can be empty) | DONMT / ITAR / ITARSIP / SDFV2 / MSIT / SIP / WW |
RouteName | The RouteName the dropping line belongs to (can be empty) | suggestion / query / init / resolveentitiesasync |
Source | The pipeline job dropping the line | GWS / AriaEventsLogs / SearchEventsLogs / LogicalImpression / Impression / Session |