Class ObservabilityContext
java.lang.Object
com.smeup.kokos.sdk.observability.ObservabilityContext
This class is used to coordinate access to observability information for the current FUN execution. By setting MDC
context info, we are able to correlate uniformly logs and traces to better track FUN path across the infrastructure.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidThis method will trigger clean up to avoid MDC arguments thread pollution for new FUN executions.Get application id (current microexecutor ID).static voidInitialize with microservice base information.static voidsetFunSanitizer(Function<String, String> sanitizer) Sets a sanitizer to avoid putting sensitive data into MDC.static voidsetMDCArgument(String sessionId, String app, String user, String fun) Set MDC argument valid for current session (FUN execution).
-
Field Details
-
MDC_APPLICATION_ID
- See Also:
-
MDC_SESSION_ID
- See Also:
-
MDC_APP
- See Also:
-
MDC_USER
- See Also:
-
MDC_FUN
- See Also:
-
-
Constructor Details
-
ObservabilityContext
public ObservabilityContext()
-
-
Method Details
-
init
Initialize with microservice base information. -
getApplicationId
Get application id (current microexecutor ID). This is the same for all contexts.- Returns:
-
setFunSanitizer
Sets a sanitizer to avoid putting sensitive data into MDC.- Parameters:
sanitizer-
-
setMDCArgument
Set MDC argument valid for current session (FUN execution).- Parameters:
sessionId-app-user-fun-
-
cleanMDCArgument
public static void cleanMDCArgument()This method will trigger clean up to avoid MDC arguments thread pollution for new FUN executions. This is caused by the thread pool: the same thread is reused to serve various FUNs requests.
-