Class MetricsEnvironment
Users should not interact directly with this class. Instead, use Metrics and the
 returned objects to create and modify metrics.
 
The runner should create a MetricsContainer for each context in which metrics are
 reported (by step and name) and call setCurrentContainer(org.apache.beam.sdk.metrics.MetricsContainer) before invoking any code that
 may update metrics within that step. It should call setCurrentContainer(org.apache.beam.sdk.metrics.MetricsContainer) again to restore
 the previous container.
 
Alternatively, the runner can use scopedMetricsContainer(MetricsContainer) to set the
 container for the current thread and get a Closeable that will restore the previous
 container when closed.
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic interfaceSet theMetricsContainerfor the associatedMetricsEnvironment. - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic @Nullable MetricsContainerReturn theMetricsContainerfor the current thread.Returns the container holder for the current thread.static @Nullable MetricsContainerReturn theMetricsContainerfor the current process.static booleanIndicates whether metrics reporting is supported.static CloseablescopedMetricsContainer(MetricsContainer container) Set theMetricsContainerfor the current thread.static @Nullable MetricsContainersetCurrentContainer(@Nullable MetricsContainer container) Set theMetricsContainerfor the current thread.static voidsetMetricsSupported(boolean supported) Called by the run to indicate whether metrics reporting is supported.static @Nullable MetricsContainersetProcessWideContainer(@Nullable MetricsContainer container) Set theMetricsContainerfor the current process. 
- 
Constructor Details
- 
MetricsEnvironment
public MetricsEnvironment() 
 - 
 - 
Method Details
- 
getMetricsEnvironmentStateForCurrentThread
public static MetricsEnvironment.MetricsEnvironmentState getMetricsEnvironmentStateForCurrentThread()Returns the container holder for the current thread. - 
setCurrentContainer
Set theMetricsContainerfor the current thread.- Returns:
 - The previous container for the current thread.
 
 - 
setProcessWideContainer
public static @Nullable MetricsContainer setProcessWideContainer(@Nullable MetricsContainer container) Set theMetricsContainerfor the current process.- Returns:
 - The previous container for the current process.
 
 - 
setMetricsSupported
public static void setMetricsSupported(boolean supported) Called by the run to indicate whether metrics reporting is supported. - 
isMetricsSupported
public static boolean isMetricsSupported()Indicates whether metrics reporting is supported. - 
scopedMetricsContainer
Set theMetricsContainerfor the current thread.- Returns:
 - A 
Closeablethat will reset the current container to the previousMetricsContainerwhen closed. 
 - 
getCurrentContainer
Return theMetricsContainerfor the current thread.May return null if metrics are not supported by the current runner or if the current thread is not a work-execution thread. The first time this happens in a given thread it will log a diagnostic message.
 - 
getProcessWideContainer
Return theMetricsContainerfor the current process. 
 -