public class PTransformFunctionRegistry
extends java.lang.Object
Usage: // Instantiate and use the registry for each class of functions. i.e. start. finish.
PTransformFunctionRegistry startFunctionRegistry;
PTransformFunctionRegistry finishFunctionRegistry;
startFunctionRegistry.register(myStartThrowingRunnable);
finishFunctionRegistry.register(myFinishThrowingRunnable);
// Then invoke the functions by iterating over them, in your desired order: i.e.
for (ThrowingRunnable startFunction : startFunctionRegistry.getFunctions()) {
startFunction.run();
}
for (ThrowingRunnable finishFunction : Lists.reverse(finishFunctionRegistry.getFunctions())) {
finishFunction.run();
}
// Note: this is used in ProcessBundleHandler.
| Constructor and Description |
|---|
PTransformFunctionRegistry(org.apache.beam.runners.core.metrics.MetricsContainerStepMap metricsContainerRegistry,
org.apache.beam.runners.core.metrics.ExecutionStateTracker stateTracker,
java.lang.String executionStateName)
Construct the registry to run for either start or finish bundle functions.
|
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<java.lang.String,org.apache.beam.vendor.grpc.v1p43p2.com.google.protobuf.ByteString> |
getExecutionTimeMonitoringData(org.apache.beam.runners.core.metrics.ShortIdMap shortIds) |
java.util.List<org.apache.beam.model.pipeline.v1.MetricsApi.MonitoringInfo> |
getExecutionTimeMonitoringInfos() |
java.util.List<org.apache.beam.sdk.function.ThrowingRunnable> |
getFunctions() |
void |
register(java.lang.String pTransformId,
org.apache.beam.sdk.function.ThrowingRunnable runnable)
Register the runnable to process the specific pTransformId and track its execution time.
|
void |
reset()
Reset the execution states of the registered functions.
|
public PTransformFunctionRegistry(org.apache.beam.runners.core.metrics.MetricsContainerStepMap metricsContainerRegistry,
org.apache.beam.runners.core.metrics.ExecutionStateTracker stateTracker,
java.lang.String executionStateName)
metricsContainerRegistry - - Used to enable a metric container to properly account for the
pTransform in user metrics.stateTracker - - The tracker to enter states in order to calculate execution time metrics.executionStateName - - The state name for the state .public void register(java.lang.String pTransformId,
org.apache.beam.sdk.function.ThrowingRunnable runnable)
pTransformId - runnable - public void reset()
public java.util.List<org.apache.beam.model.pipeline.v1.MetricsApi.MonitoringInfo> getExecutionTimeMonitoringInfos()
public java.util.Map<java.lang.String,org.apache.beam.vendor.grpc.v1p43p2.com.google.protobuf.ByteString> getExecutionTimeMonitoringData(org.apache.beam.runners.core.metrics.ShortIdMap shortIds)
public java.util.List<org.apache.beam.sdk.function.ThrowingRunnable> getFunctions()