Runtime snapshots

The decision runtime snapshot feature provides a detailed state of the decision runtime at the time the snapshot is taken.
The snapshot feature can be used for many different purposes. For example:
  • To diagnose problems in the decision runtime by providing detailed information on its state.
  • To collect information related to an issue that users are facing.
  • To obtain basic metrics on the decision runtime and its subcomponents.
  • To identify performance issues, bottlenecks, and system resources sinks.
For more information about the REST API method for snapshots, see the GET /snapshot method in the Decision runtime REST API reference in Reference.
Remember: Using the snapshot feature can have an impact on performance. You must not call the GET /snapshot method frequently.

The runtime snapshot feature has two main parts: static and dynamic properties.

Static properties

The static properties concern the configuration properties of the decision runtime and its environment. These properties are fixed during the execution of the decision runtime, and not going to be changed.

The runtime properties are listed as follows:
  • Authentication and SSL parameters
  • Decision archive storage parameters
  • Emitter parameters
  • Logging parameters
The runtime environment properties are listed as follows:
  • Operating system and environment properties
  • JVM properties
  • Different class paths (bootClasspaths, runtimeClasspaths, and libraryPaths)

Dynamic properties

The dynamic properties concern the properties of the runtime during its execution:
  • Memory usage
  • Archives and metadata cache states
  • Garbage collectors states
  • Statistics concerning the emitter events
  • A dump of the runtime threads that are running in the decision runtime.

    The stack traces of the threads are shown only if the ads_configuration.decision_runtime_service.stack_trace_enabled parameter is set to true. For more information about the parameter, see Configuration parameters.