Class ObservabilityContext

java.lang.Object
com.smeup.kokos.sdk.observability.ObservabilityContext

public class ObservabilityContext extends Object
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 Details

  • Constructor Details

    • ObservabilityContext

      public ObservabilityContext()
  • Method Details

    • init

      public static void init(String applicationId)
      Initialize with microservice base information.
    • getApplicationId

      public String getApplicationId()
      Get application id (current microexecutor ID). This is the same for all contexts.
      Returns:
    • setFunSanitizer

      public static void setFunSanitizer(Function<String,String> sanitizer)
      Sets a sanitizer to avoid putting sensitive data into MDC.
      Parameters:
      sanitizer -
    • setMDCArgument

      public static void setMDCArgument(String sessionId, String app, String user, String fun)
      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.