Pipeline Monitor
Logs diagnostics and publishes health metrics from pipeline units.
Each unit emits counters (scanned symbols, input events) and states (scan errors), periodically logged and published to the 10x Prometheus endpoint.
Configuration
To configure the Pipeline monitor unit, Edit these settings:
Run
Run
Launch a run pipeline to report, regulate and optimize log/trace events in edge and cloud environments.
Below is the default configuration from: monitor/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAibW9uaXRvciIgOiB7CiAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAicG9sbEludGVydmFsIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnRlcnZhbCB0byBpbmZvcm1hdGlvbiB0byBsb2cvIHB1Ymxpc2ggY291bnRlcnNcblxuU2V0cyB0aGUgZnJlcXVlbmN5IHRvIGxvZyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmUgdW5pdHMgc3BlY2lmaWVkIGJ5ICdtb25pdG9yVW5pdHMnIHRvIGxvZy90aW1lIHNlcmllcyBiYWNrZW5kLiAoRGVmYXVsdDogMXMpIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICIxcyIKICAgICAgICB9LAogICAgICAgICJ1bml0cyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJQaXBlbGluZSB1bml0IG5hbWVzIHRvIGxvZyBhbmQgZW1pdCBkZWJ1ZyBtZXRyaWNzXG5cblNwZWNpZmllcyB3aGljaCAxMHggcGlwZWxpbmUgdW5pdHMgd2lsbCBsb2cgYW5kIGVtaXQgZGVidWcgbWV0cmljcyB3aGlsZSBleGVjdXRpbmcuIEVhY2ggcGlwZWxpbmUgcHJpbnRzIHRoZSBuYW1lcyBvZiBpdHMgY29uZmlndXJlZCB1bml0cyB1cG9uIHN0YXJ0dXAgb24gdGhlIGNvbnNvbGUgYW5kIGxvZyBmaWxlLiAgVG8gZW1pdCBpbmZvcm1hdGlvbiBmb3IgYWxsIHBpcGVsaW5lIHVuaXRzLCBzcGVjaWZ5ICcqJy4iLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJtZXRyaWNQYXR0ZXJuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJSZWdleHAgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIHRvIHB1Ymxpc2ggYXMgbWV0cmljc1xuXG5EZWZpbmVzIGEgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIGRlYnVnIHByb2R1Y2VkIGJ5IHVuaXRzIHNwZWNpZmllZCBieSBbbW9uaXRvclVuaXRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3NoYXJlZC9tb25pdG9yLyNtb25pdG9ydW5pdHMpLiBFYWNoIGNvdW50ZXIgcHJvdmlkZXMgYSBuYW1lIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgPHVuaXQgbmFtZT5fPGtleTAuLi5LZXlOPmAgKGUuZy4sIGlucHV0X2V2ZW50c18wKS4gIFRoZSBwaXBlbGluZSB3aWxsIGVtaXQgY291bnRlcnMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4sIFt0YWdnaW5nIGVhY2ggY291bnRlcl0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL21pY3JvbWV0ZXIjMS10YWdzKSAgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVwb3J0aW5nIHVuaXQgaW5zdGFuY2UgKGUuZy4sIHRoZSBkZXN0aW5hdGlvbiBmb3IgYSAncnVuJyBwaXBlbGluZSBvdXRwdXQpLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'run' monitor configuration
#
# Emit diagnostic information and metrics to the 10x console and log.
# To learn more see https://doc.log10x.com/run/monitor/
# Set the 10x pipeline to 'run'
tenx: run
# ============================== Monitor Options ================================
monitor:
# 'pollInterval' sets the frequency by which to emit debug information
# for the target units specified below.
pollInterval: 1s
# 'metricPattern' specifies a regex pattern to match against counters generated
# by the specified 'units' below to publish as metrics to the 10x console
metricPattern: null
# 'units' specifies the run pipeline units to emit period diagnostic
# information to the 10x log and console. Possible values:
units:
# load symbol library file(s)
# - symbolLoader
# load TenXTemplates file(s)
# - templateLoader
# load hash values of known TenXTemplates from file(s)
# - loadTemplateHashes
# read input log/trace event from text content passes a launch argument
# - readInline
# read input log/trace event from a file
# - readFile
# read input log/trace event from a java.io.InputStream/Reader
# - readStream
# split transform workload across multiple cores
# - parallelize
# transform input events into structured well-defined TenXObjects
# - transform
# group TenXObjects into composite logical units
# - group
# aggregate TenXObjects into summary instances
# - aggregateSingle
# write TenXObjects to java.io.OutputStream/Writer(s)
# - streamOutput
# write TenXObjects to stdout/err
# - stdOutput
# write TenXObjects to log4j2 appenders
# - logOutput
# write TenXObjects to Micrometer registries
# - metricOutput
Compile
Compile
Launch a compile pipeline to scan source code and binary files to generate symbol unit and library files.
Below is the default configuration from: monitor/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAibW9uaXRvciIgOiB7CiAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAicG9sbEludGVydmFsIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnRlcnZhbCB0byBpbmZvcm1hdGlvbiB0byBsb2cvIHB1Ymxpc2ggY291bnRlcnNcblxuU2V0cyB0aGUgZnJlcXVlbmN5IHRvIGxvZyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmUgdW5pdHMgc3BlY2lmaWVkIGJ5ICdtb25pdG9yVW5pdHMnIHRvIGxvZy90aW1lIHNlcmllcyBiYWNrZW5kLiAoRGVmYXVsdDogMXMpIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICIxcyIKICAgICAgICB9LAogICAgICAgICJ1bml0cyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJQaXBlbGluZSB1bml0IG5hbWVzIHRvIGxvZyBhbmQgZW1pdCBkZWJ1ZyBtZXRyaWNzXG5cblNwZWNpZmllcyB3aGljaCAxMHggcGlwZWxpbmUgdW5pdHMgd2lsbCBsb2cgYW5kIGVtaXQgZGVidWcgbWV0cmljcyB3aGlsZSBleGVjdXRpbmcuIEVhY2ggcGlwZWxpbmUgcHJpbnRzIHRoZSBuYW1lcyBvZiBpdHMgY29uZmlndXJlZCB1bml0cyB1cG9uIHN0YXJ0dXAgb24gdGhlIGNvbnNvbGUgYW5kIGxvZyBmaWxlLiAgVG8gZW1pdCBpbmZvcm1hdGlvbiBmb3IgYWxsIHBpcGVsaW5lIHVuaXRzLCBzcGVjaWZ5ICcqJy4iLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJtZXRyaWNQYXR0ZXJuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJSZWdleHAgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIHRvIHB1Ymxpc2ggYXMgbWV0cmljc1xuXG5EZWZpbmVzIGEgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIGRlYnVnIHByb2R1Y2VkIGJ5IHVuaXRzIHNwZWNpZmllZCBieSBbbW9uaXRvclVuaXRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3NoYXJlZC9tb25pdG9yLyNtb25pdG9ydW5pdHMpLiBFYWNoIGNvdW50ZXIgcHJvdmlkZXMgYSBuYW1lIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgPHVuaXQgbmFtZT5fPGtleTAuLi5LZXlOPmAgKGUuZy4sIGlucHV0X2V2ZW50c18wKS4gIFRoZSBwaXBlbGluZSB3aWxsIGVtaXQgY291bnRlcnMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4sIFt0YWdnaW5nIGVhY2ggY291bnRlcl0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL21pY3JvbWV0ZXIjMS10YWdzKSAgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVwb3J0aW5nIHVuaXQgaW5zdGFuY2UgKGUuZy4sIHRoZSBkZXN0aW5hdGlvbiBmb3IgYSAncnVuJyBwaXBlbGluZSBvdXRwdXQpLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'compile' monitor configuration
# Emit diagnostic information and metrics to the 10x console and log.
# To learn more see https://doc.log10x.com/compile/monitor/
# Set the 10x pipeline to 'compile'
tenx: compile
# ============================== Monitor Options ================================
monitor:
# 'pollInterval' sets the frequency by which to emit debug information
# for the target units specified below.
pollInterval: null
# 'metricPattern' specifies a regex pattern to match against counters generated
# by the specified 'units' below to publish as metrics to the 10x console
metricPattern: null
# 'units' specifies the compile pipeline units to emit period diagnostic
# information to the 10x log and console. Possible values:
units:
# Push output symbol files to a GitHub repository
- githubPushFolder
# discover input source code/binary files to scan on disk
- discoverSources
# scan input files to generate output symbol unit files
- scanToFolder
# launch a subprocess to scan target input files
- subprocessScan
# link symbol unit files into a symbol library file for use at run time
- link
Options
Specify the options below to configure the Pipeline monitor:
| Name | Description |
|---|---|
| monitorPollInterval | Interval to information to log/ publish counters |
| monitorUnits | Pipeline unit names to log and emit debug metrics |
| monitorMetricPattern | Regexp pattern to match against counters to publish as metrics |
monitorPollInterval
Interval to information to log/ publish counters.
| Type | Default |
|---|---|
| String | 1s |
Sets the frequency to log debug information for pipeline units specified by 'monitorUnits' to log/time series backend.
monitorUnits
Pipeline unit names to log and emit debug metrics.
| Type | Default |
|---|---|
| List | [] |
Specifies which 10x pipeline units will log and emit debug metrics while executing. Each pipeline prints the names of its configured units upon startup on the console and log file. To emit information for all pipeline units, specify '*'.
monitorMetricPattern
Regexp pattern to match against counters to publish as metrics.
| Type | Default |
|---|---|
| String | "" |
Defines a pattern to match against counters debug produced by units specified by monitorUnits.
Each counter provides a name in the following format: <unit name>_<key0...KeyN> (e.g., input_events_0).
The pipeline will emit counters matching the pattern, tagging each counter with information about the reporting unit instance (e.g., the destination for a 'run' pipeline output).
This unit is defined in monitor/unit.yaml.
Configuration
To configure the Pipeline monitor unit, Edit these settings:
Run
Run
Launch a run pipeline to report, regulate and optimize log/trace events in edge and cloud environments.
Below is the default configuration from: monitor/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAibW9uaXRvciIgOiB7CiAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAicG9sbEludGVydmFsIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnRlcnZhbCB0byBpbmZvcm1hdGlvbiB0byBsb2cvIHB1Ymxpc2ggY291bnRlcnNcblxuU2V0cyB0aGUgZnJlcXVlbmN5IHRvIGxvZyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmUgdW5pdHMgc3BlY2lmaWVkIGJ5ICdtb25pdG9yVW5pdHMnIHRvIGxvZy90aW1lIHNlcmllcyBiYWNrZW5kLiAoRGVmYXVsdDogMXMpIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICIxcyIKICAgICAgICB9LAogICAgICAgICJ1bml0cyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJQaXBlbGluZSB1bml0IG5hbWVzIHRvIGxvZyBhbmQgZW1pdCBkZWJ1ZyBtZXRyaWNzXG5cblNwZWNpZmllcyB3aGljaCAxMHggcGlwZWxpbmUgdW5pdHMgd2lsbCBsb2cgYW5kIGVtaXQgZGVidWcgbWV0cmljcyB3aGlsZSBleGVjdXRpbmcuIEVhY2ggcGlwZWxpbmUgcHJpbnRzIHRoZSBuYW1lcyBvZiBpdHMgY29uZmlndXJlZCB1bml0cyB1cG9uIHN0YXJ0dXAgb24gdGhlIGNvbnNvbGUgYW5kIGxvZyBmaWxlLiAgVG8gZW1pdCBpbmZvcm1hdGlvbiBmb3IgYWxsIHBpcGVsaW5lIHVuaXRzLCBzcGVjaWZ5ICcqJy4iLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJtZXRyaWNQYXR0ZXJuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJSZWdleHAgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIHRvIHB1Ymxpc2ggYXMgbWV0cmljc1xuXG5EZWZpbmVzIGEgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIGRlYnVnIHByb2R1Y2VkIGJ5IHVuaXRzIHNwZWNpZmllZCBieSBbbW9uaXRvclVuaXRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3NoYXJlZC9tb25pdG9yLyNtb25pdG9ydW5pdHMpLiBFYWNoIGNvdW50ZXIgcHJvdmlkZXMgYSBuYW1lIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgPHVuaXQgbmFtZT5fPGtleTAuLi5LZXlOPmAgKGUuZy4sIGlucHV0X2V2ZW50c18wKS4gIFRoZSBwaXBlbGluZSB3aWxsIGVtaXQgY291bnRlcnMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4sIFt0YWdnaW5nIGVhY2ggY291bnRlcl0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL21pY3JvbWV0ZXIjMS10YWdzKSAgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVwb3J0aW5nIHVuaXQgaW5zdGFuY2UgKGUuZy4sIHRoZSBkZXN0aW5hdGlvbiBmb3IgYSAncnVuJyBwaXBlbGluZSBvdXRwdXQpLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'run' monitor configuration
#
# Emit diagnostic information and metrics to the 10x console and log.
# To learn more see https://doc.log10x.com/run/monitor/
# Set the 10x pipeline to 'run'
tenx: run
# ============================== Monitor Options ================================
monitor:
# 'pollInterval' sets the frequency by which to emit debug information
# for the target units specified below.
pollInterval: 1s
# 'metricPattern' specifies a regex pattern to match against counters generated
# by the specified 'units' below to publish as metrics to the 10x console
metricPattern: null
# 'units' specifies the run pipeline units to emit period diagnostic
# information to the 10x log and console. Possible values:
units:
# load symbol library file(s)
# - symbolLoader
# load TenXTemplates file(s)
# - templateLoader
# load hash values of known TenXTemplates from file(s)
# - loadTemplateHashes
# read input log/trace event from text content passes a launch argument
# - readInline
# read input log/trace event from a file
# - readFile
# read input log/trace event from a java.io.InputStream/Reader
# - readStream
# split transform workload across multiple cores
# - parallelize
# transform input events into structured well-defined TenXObjects
# - transform
# group TenXObjects into composite logical units
# - group
# aggregate TenXObjects into summary instances
# - aggregateSingle
# write TenXObjects to java.io.OutputStream/Writer(s)
# - streamOutput
# write TenXObjects to stdout/err
# - stdOutput
# write TenXObjects to log4j2 appenders
# - logOutput
# write TenXObjects to Micrometer registries
# - metricOutput
Compile
Compile
Launch a compile pipeline to scan source code and binary files to generate symbol unit and library files.
Below is the default configuration from: monitor/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAibW9uaXRvciIgOiB7CiAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAicG9sbEludGVydmFsIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnRlcnZhbCB0byBpbmZvcm1hdGlvbiB0byBsb2cvIHB1Ymxpc2ggY291bnRlcnNcblxuU2V0cyB0aGUgZnJlcXVlbmN5IHRvIGxvZyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmUgdW5pdHMgc3BlY2lmaWVkIGJ5ICdtb25pdG9yVW5pdHMnIHRvIGxvZy90aW1lIHNlcmllcyBiYWNrZW5kLiAoRGVmYXVsdDogMXMpIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICIxcyIKICAgICAgICB9LAogICAgICAgICJ1bml0cyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJQaXBlbGluZSB1bml0IG5hbWVzIHRvIGxvZyBhbmQgZW1pdCBkZWJ1ZyBtZXRyaWNzXG5cblNwZWNpZmllcyB3aGljaCAxMHggcGlwZWxpbmUgdW5pdHMgd2lsbCBsb2cgYW5kIGVtaXQgZGVidWcgbWV0cmljcyB3aGlsZSBleGVjdXRpbmcuIEVhY2ggcGlwZWxpbmUgcHJpbnRzIHRoZSBuYW1lcyBvZiBpdHMgY29uZmlndXJlZCB1bml0cyB1cG9uIHN0YXJ0dXAgb24gdGhlIGNvbnNvbGUgYW5kIGxvZyBmaWxlLiAgVG8gZW1pdCBpbmZvcm1hdGlvbiBmb3IgYWxsIHBpcGVsaW5lIHVuaXRzLCBzcGVjaWZ5ICcqJy4iLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJtZXRyaWNQYXR0ZXJuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJSZWdleHAgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIHRvIHB1Ymxpc2ggYXMgbWV0cmljc1xuXG5EZWZpbmVzIGEgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIGRlYnVnIHByb2R1Y2VkIGJ5IHVuaXRzIHNwZWNpZmllZCBieSBbbW9uaXRvclVuaXRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3NoYXJlZC9tb25pdG9yLyNtb25pdG9ydW5pdHMpLiBFYWNoIGNvdW50ZXIgcHJvdmlkZXMgYSBuYW1lIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgPHVuaXQgbmFtZT5fPGtleTAuLi5LZXlOPmAgKGUuZy4sIGlucHV0X2V2ZW50c18wKS4gIFRoZSBwaXBlbGluZSB3aWxsIGVtaXQgY291bnRlcnMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4sIFt0YWdnaW5nIGVhY2ggY291bnRlcl0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL21pY3JvbWV0ZXIjMS10YWdzKSAgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVwb3J0aW5nIHVuaXQgaW5zdGFuY2UgKGUuZy4sIHRoZSBkZXN0aW5hdGlvbiBmb3IgYSAncnVuJyBwaXBlbGluZSBvdXRwdXQpLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'compile' monitor configuration
# Emit diagnostic information and metrics to the 10x console and log.
# To learn more see https://doc.log10x.com/compile/monitor/
# Set the 10x pipeline to 'compile'
tenx: compile
# ============================== Monitor Options ================================
monitor:
# 'pollInterval' sets the frequency by which to emit debug information
# for the target units specified below.
pollInterval: null
# 'metricPattern' specifies a regex pattern to match against counters generated
# by the specified 'units' below to publish as metrics to the 10x console
metricPattern: null
# 'units' specifies the compile pipeline units to emit period diagnostic
# information to the 10x log and console. Possible values:
units:
# Push output symbol files to a GitHub repository
- githubPushFolder
# discover input source code/binary files to scan on disk
- discoverSources
# scan input files to generate output symbol unit files
- scanToFolder
# launch a subprocess to scan target input files
- subprocessScan
# link symbol unit files into a symbol library file for use at run time
- link
Options
Specify the options below to configure the Pipeline monitor:
| Name | Description |
|---|---|
| monitorPollInterval | Interval to information to log/ publish counters |
| monitorUnits | Pipeline unit names to log and emit debug metrics |
| monitorMetricPattern | Regexp pattern to match against counters to publish as metrics |
monitorPollInterval
Interval to information to log/ publish counters.
| Type | Default |
|---|---|
| String | 1s |
Sets the frequency to log debug information for pipeline units specified by 'monitorUnits' to log/time series backend.
monitorUnits
Pipeline unit names to log and emit debug metrics.
| Type | Default |
|---|---|
| List | [] |
Specifies which 10x pipeline units will log and emit debug metrics while executing. Each pipeline prints the names of its configured units upon startup on the console and log file. To emit information for all pipeline units, specify '*'.
monitorMetricPattern
Regexp pattern to match against counters to publish as metrics.
| Type | Default |
|---|---|
| String | "" |
Defines a pattern to match against counters debug produced by units specified by monitorUnits.
Each counter provides a name in the following format: <unit name>_<key0...KeyN> (e.g., input_events_0).
The pipeline will emit counters matching the pattern, tagging each counter with information about the reporting unit instance (e.g., the destination for a 'run' pipeline output).
This unit is defined in monitor/unit.yaml.
Configuration
To configure the Pipeline monitor unit, Edit these settings:
Run
Run
Launch a run pipeline to report, regulate and optimize log/trace events in edge and cloud environments.
Below is the default configuration from: monitor/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAibW9uaXRvciIgOiB7CiAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAicG9sbEludGVydmFsIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnRlcnZhbCB0byBpbmZvcm1hdGlvbiB0byBsb2cvIHB1Ymxpc2ggY291bnRlcnNcblxuU2V0cyB0aGUgZnJlcXVlbmN5IHRvIGxvZyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmUgdW5pdHMgc3BlY2lmaWVkIGJ5ICdtb25pdG9yVW5pdHMnIHRvIGxvZy90aW1lIHNlcmllcyBiYWNrZW5kLiAoRGVmYXVsdDogMXMpIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICIxcyIKICAgICAgICB9LAogICAgICAgICJ1bml0cyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJQaXBlbGluZSB1bml0IG5hbWVzIHRvIGxvZyBhbmQgZW1pdCBkZWJ1ZyBtZXRyaWNzXG5cblNwZWNpZmllcyB3aGljaCAxMHggcGlwZWxpbmUgdW5pdHMgd2lsbCBsb2cgYW5kIGVtaXQgZGVidWcgbWV0cmljcyB3aGlsZSBleGVjdXRpbmcuIEVhY2ggcGlwZWxpbmUgcHJpbnRzIHRoZSBuYW1lcyBvZiBpdHMgY29uZmlndXJlZCB1bml0cyB1cG9uIHN0YXJ0dXAgb24gdGhlIGNvbnNvbGUgYW5kIGxvZyBmaWxlLiAgVG8gZW1pdCBpbmZvcm1hdGlvbiBmb3IgYWxsIHBpcGVsaW5lIHVuaXRzLCBzcGVjaWZ5ICcqJy4iLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJtZXRyaWNQYXR0ZXJuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJSZWdleHAgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIHRvIHB1Ymxpc2ggYXMgbWV0cmljc1xuXG5EZWZpbmVzIGEgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIGRlYnVnIHByb2R1Y2VkIGJ5IHVuaXRzIHNwZWNpZmllZCBieSBbbW9uaXRvclVuaXRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3NoYXJlZC9tb25pdG9yLyNtb25pdG9ydW5pdHMpLiBFYWNoIGNvdW50ZXIgcHJvdmlkZXMgYSBuYW1lIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgPHVuaXQgbmFtZT5fPGtleTAuLi5LZXlOPmAgKGUuZy4sIGlucHV0X2V2ZW50c18wKS4gIFRoZSBwaXBlbGluZSB3aWxsIGVtaXQgY291bnRlcnMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4sIFt0YWdnaW5nIGVhY2ggY291bnRlcl0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL21pY3JvbWV0ZXIjMS10YWdzKSAgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVwb3J0aW5nIHVuaXQgaW5zdGFuY2UgKGUuZy4sIHRoZSBkZXN0aW5hdGlvbiBmb3IgYSAncnVuJyBwaXBlbGluZSBvdXRwdXQpLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'run' monitor configuration
#
# Emit diagnostic information and metrics to the 10x console and log.
# To learn more see https://doc.log10x.com/run/monitor/
# Set the 10x pipeline to 'run'
tenx: run
# ============================== Monitor Options ================================
monitor:
# 'pollInterval' sets the frequency by which to emit debug information
# for the target units specified below.
pollInterval: 1s
# 'metricPattern' specifies a regex pattern to match against counters generated
# by the specified 'units' below to publish as metrics to the 10x console
metricPattern: null
# 'units' specifies the run pipeline units to emit period diagnostic
# information to the 10x log and console. Possible values:
units:
# load symbol library file(s)
# - symbolLoader
# load TenXTemplates file(s)
# - templateLoader
# load hash values of known TenXTemplates from file(s)
# - loadTemplateHashes
# read input log/trace event from text content passes a launch argument
# - readInline
# read input log/trace event from a file
# - readFile
# read input log/trace event from a java.io.InputStream/Reader
# - readStream
# split transform workload across multiple cores
# - parallelize
# transform input events into structured well-defined TenXObjects
# - transform
# group TenXObjects into composite logical units
# - group
# aggregate TenXObjects into summary instances
# - aggregateSingle
# write TenXObjects to java.io.OutputStream/Writer(s)
# - streamOutput
# write TenXObjects to stdout/err
# - stdOutput
# write TenXObjects to log4j2 appenders
# - logOutput
# write TenXObjects to Micrometer registries
# - metricOutput
Compile
Compile
Launch a compile pipeline to scan source code and binary files to generate symbol unit and library files.
Below is the default configuration from: monitor/config.yaml.
ewogICJ0eXBlIiA6ICJvYmplY3QiLAogICJwcm9wZXJ0aWVzIiA6IHsKICAgICJ0ZW54IiA6IHsKICAgICAgInR5cGUiIDogInN0cmluZyIKICAgIH0sCiAgICAibW9uaXRvciIgOiB7CiAgICAgICJ0eXBlIiA6ICJvYmplY3QiLAogICAgICAiYWRkaXRpb25hbFByb3BlcnRpZXMiIDogZmFsc2UsCiAgICAgICJwcm9wZXJ0aWVzIiA6IHsKICAgICAgICAicG9sbEludGVydmFsIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJJbnRlcnZhbCB0byBpbmZvcm1hdGlvbiB0byBsb2cvIHB1Ymxpc2ggY291bnRlcnNcblxuU2V0cyB0aGUgZnJlcXVlbmN5IHRvIGxvZyBkZWJ1ZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmUgdW5pdHMgc3BlY2lmaWVkIGJ5ICdtb25pdG9yVW5pdHMnIHRvIGxvZy90aW1lIHNlcmllcyBiYWNrZW5kLiAoRGVmYXVsdDogMXMpIiwKICAgICAgICAgICJkZWZhdWx0IiA6ICIxcyIKICAgICAgICB9LAogICAgICAgICJ1bml0cyIgOiB7CiAgICAgICAgICAidHlwZSIgOiBbCiAgICAgICAgICAgICJhcnJheSIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJQaXBlbGluZSB1bml0IG5hbWVzIHRvIGxvZyBhbmQgZW1pdCBkZWJ1ZyBtZXRyaWNzXG5cblNwZWNpZmllcyB3aGljaCAxMHggcGlwZWxpbmUgdW5pdHMgd2lsbCBsb2cgYW5kIGVtaXQgZGVidWcgbWV0cmljcyB3aGlsZSBleGVjdXRpbmcuIEVhY2ggcGlwZWxpbmUgcHJpbnRzIHRoZSBuYW1lcyBvZiBpdHMgY29uZmlndXJlZCB1bml0cyB1cG9uIHN0YXJ0dXAgb24gdGhlIGNvbnNvbGUgYW5kIGxvZyBmaWxlLiAgVG8gZW1pdCBpbmZvcm1hdGlvbiBmb3IgYWxsIHBpcGVsaW5lIHVuaXRzLCBzcGVjaWZ5ICcqJy4iLAogICAgICAgICAgIml0ZW1zIiA6IHsKICAgICAgICAgICAgInR5cGUiIDogInN0cmluZyIKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgICJtZXRyaWNQYXR0ZXJuIiA6IHsKICAgICAgICAgICJ0eXBlIiA6IFsKICAgICAgICAgICAgInN0cmluZyIsCiAgICAgICAgICAgICJudWxsIgogICAgICAgICAgXSwKICAgICAgICAgICJtYXJrZG93bkRlc2NyaXB0aW9uIiA6ICJSZWdleHAgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIHRvIHB1Ymxpc2ggYXMgbWV0cmljc1xuXG5EZWZpbmVzIGEgcGF0dGVybiB0byBtYXRjaCBhZ2FpbnN0IGNvdW50ZXJzIGRlYnVnIHByb2R1Y2VkIGJ5IHVuaXRzIHNwZWNpZmllZCBieSBbbW9uaXRvclVuaXRzXShodHRwczovL2RvYy5sb2cxMHguY29tL3NoYXJlZC9tb25pdG9yLyNtb25pdG9ydW5pdHMpLiBFYWNoIGNvdW50ZXIgcHJvdmlkZXMgYSBuYW1lIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiBgPHVuaXQgbmFtZT5fPGtleTAuLi5LZXlOPmAgKGUuZy4sIGlucHV0X2V2ZW50c18wKS4gIFRoZSBwaXBlbGluZSB3aWxsIGVtaXQgY291bnRlcnMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4sIFt0YWdnaW5nIGVhY2ggY291bnRlcl0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL21pY3JvbWV0ZXIjMS10YWdzKSAgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVwb3J0aW5nIHVuaXQgaW5zdGFuY2UgKGUuZy4sIHRoZSBkZXN0aW5hdGlvbiBmb3IgYSAncnVuJyBwaXBlbGluZSBvdXRwdXQpLiIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9LAogICJhZGRpdGlvbmFsUHJvcGVydGllcyIgOiBmYWxzZQp9
# 🔟❎ 'compile' monitor configuration
# Emit diagnostic information and metrics to the 10x console and log.
# To learn more see https://doc.log10x.com/compile/monitor/
# Set the 10x pipeline to 'compile'
tenx: compile
# ============================== Monitor Options ================================
monitor:
# 'pollInterval' sets the frequency by which to emit debug information
# for the target units specified below.
pollInterval: null
# 'metricPattern' specifies a regex pattern to match against counters generated
# by the specified 'units' below to publish as metrics to the 10x console
metricPattern: null
# 'units' specifies the compile pipeline units to emit period diagnostic
# information to the 10x log and console. Possible values:
units:
# Push output symbol files to a GitHub repository
- githubPushFolder
# discover input source code/binary files to scan on disk
- discoverSources
# scan input files to generate output symbol unit files
- scanToFolder
# launch a subprocess to scan target input files
- subprocessScan
# link symbol unit files into a symbol library file for use at run time
- link
Options
Specify the options below to configure the Pipeline monitor:
| Name | Description |
|---|---|
| monitorPollInterval | Interval to information to log/ publish counters |
| monitorUnits | Pipeline unit names to log and emit debug metrics |
| monitorMetricPattern | Regexp pattern to match against counters to publish as metrics |
monitorPollInterval
Interval to information to log/ publish counters.
| Type | Default |
|---|---|
| String | 1s |
Sets the frequency to log debug information for pipeline units specified by 'monitorUnits' to log/time series backend.
monitorUnits
Pipeline unit names to log and emit debug metrics.
| Type | Default |
|---|---|
| List | [] |
Specifies which 10x pipeline units will log and emit debug metrics while executing. Each pipeline prints the names of its configured units upon startup on the console and log file. To emit information for all pipeline units, specify '*'.
monitorMetricPattern
Regexp pattern to match against counters to publish as metrics.
| Type | Default |
|---|---|
| String | "" |
Defines a pattern to match against counters debug produced by units specified by monitorUnits.
Each counter provides a name in the following format: <unit name>_<key0...KeyN> (e.g., input_events_0).
The pipeline will emit counters matching the pattern, tagging each counter with information about the reporting unit instance (e.g., the destination for a 'run' pipeline output).
This unit is defined in monitor/unit.yaml.