public class AlertSuppressorSession extends org.apache.beam.sdk.transforms.DoFn<org.apache.beam.sdk.values.KV<String,Alert>,Alert>
Based on AlertSuppressor: creates a suppressor where each time we see an alert for a key with a non-expired state we extend the expiry creating a session.
Modifier and Type | Class and Description |
---|---|
static class |
AlertSuppressorSession.AlertSuppressionState
Internal class for alert suppression state
|
org.apache.beam.sdk.transforms.DoFn.AlwaysFetched, org.apache.beam.sdk.transforms.DoFn.BoundedPerElement, org.apache.beam.sdk.transforms.DoFn.BundleFinalizer, org.apache.beam.sdk.transforms.DoFn.Element, org.apache.beam.sdk.transforms.DoFn.FieldAccess, org.apache.beam.sdk.transforms.DoFn.FinishBundle, org.apache.beam.sdk.transforms.DoFn.FinishBundleContext, org.apache.beam.sdk.transforms.DoFn.GetInitialRestriction, org.apache.beam.sdk.transforms.DoFn.GetInitialWatermarkEstimatorState, org.apache.beam.sdk.transforms.DoFn.GetRestrictionCoder, org.apache.beam.sdk.transforms.DoFn.GetSize, org.apache.beam.sdk.transforms.DoFn.GetWatermarkEstimatorStateCoder, org.apache.beam.sdk.transforms.DoFn.Key, org.apache.beam.sdk.transforms.DoFn.MultiOutputReceiver, org.apache.beam.sdk.transforms.DoFn.NewTracker, org.apache.beam.sdk.transforms.DoFn.NewWatermarkEstimator, org.apache.beam.sdk.transforms.DoFn.OnTimer, org.apache.beam.sdk.transforms.DoFn.OnTimerContext, org.apache.beam.sdk.transforms.DoFn.OnTimerFamily, org.apache.beam.sdk.transforms.DoFn.OnWindowExpiration, org.apache.beam.sdk.transforms.DoFn.OnWindowExpirationContext, org.apache.beam.sdk.transforms.DoFn.OutputReceiver<T>, org.apache.beam.sdk.transforms.DoFn.ProcessContext, org.apache.beam.sdk.transforms.DoFn.ProcessContinuation, org.apache.beam.sdk.transforms.DoFn.ProcessElement, org.apache.beam.sdk.transforms.DoFn.RequiresStableInput, org.apache.beam.sdk.transforms.DoFn.RequiresTimeSortedInput, org.apache.beam.sdk.transforms.DoFn.Restriction, org.apache.beam.sdk.transforms.DoFn.Setup, org.apache.beam.sdk.transforms.DoFn.SideInput, org.apache.beam.sdk.transforms.DoFn.SplitRestriction, org.apache.beam.sdk.transforms.DoFn.StartBundle, org.apache.beam.sdk.transforms.DoFn.StartBundleContext, org.apache.beam.sdk.transforms.DoFn.StateId, org.apache.beam.sdk.transforms.DoFn.Teardown, org.apache.beam.sdk.transforms.DoFn.TimerFamily, org.apache.beam.sdk.transforms.DoFn.TimerId, org.apache.beam.sdk.transforms.DoFn.Timestamp, org.apache.beam.sdk.transforms.DoFn.TruncateRestriction, org.apache.beam.sdk.transforms.DoFn.UnboundedPerElement, org.apache.beam.sdk.transforms.DoFn.WatermarkEstimatorState, org.apache.beam.sdk.transforms.DoFn.WindowedContext
Constructor and Description |
---|
AlertSuppressorSession(Long sessionGapDuration) |
Modifier and Type | Method and Description |
---|---|
void |
onExpiry(org.apache.beam.sdk.transforms.DoFn.OnTimerContext c,
org.apache.beam.sdk.state.ValueState<AlertSuppressorSession.AlertSuppressionState> counter) |
void |
processElement(org.apache.beam.sdk.transforms.DoFn.ProcessContext c,
org.apache.beam.sdk.state.ValueState<AlertSuppressorSession.AlertSuppressionState> counter,
org.apache.beam.sdk.state.Timer counterExpiry) |
public AlertSuppressorSession(Long sessionGapDuration)
@DoFn.OnTimer(value="expiryState") public void onExpiry(org.apache.beam.sdk.transforms.DoFn.OnTimerContext c, @DoFn.StateId(value="counter") org.apache.beam.sdk.state.ValueState<AlertSuppressorSession.AlertSuppressionState> counter)
@DoFn.ProcessElement public void processElement(org.apache.beam.sdk.transforms.DoFn.ProcessContext c, @DoFn.StateId(value="counter") org.apache.beam.sdk.state.ValueState<AlertSuppressorSession.AlertSuppressionState> counter, @DoFn.TimerId(value="expiryState") org.apache.beam.sdk.state.Timer counterExpiry)
Copyright © 2022. All rights reserved.