diff --git a/.chloggen/datasetexporter-update-to-0.18.0.yaml b/.chloggen/datasetexporter-update-to-0.18.0.yaml new file mode 100755 index 000000000000..97cab8fbccf8 --- /dev/null +++ b/.chloggen/datasetexporter-update-to-0.18.0.yaml @@ -0,0 +1,27 @@ +# Use this changelog template to create an entry for release notes. + +# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix' +change_type: enhancement + +# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver) +component: datasetexporter + +# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`). +note: Release resources if they haven't been used for some time. + +# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists. +issues: [31292] + +# (Optional) One or more lines of additional information to render under the primary note. +# These lines will be padded with 2 spaces and then inserted directly into the document. +# Use pipe (|) for multiline entries. +subtext: + +# If your change doesn't affect end users or the exported elements of any package, +# you should instead start your pull request title with [chore] or use the "Skip Changelog" label. +# Optional: The change log or logs in which this entry should be included. +# e.g. '[user]' or '[user, api]' +# Include 'user' if the change is relevant to end users. +# Include 'api' if there is a change to a library API. +# Default: '[user]' +change_logs: [] diff --git a/cmd/configschema/go.mod b/cmd/configschema/go.mod index 9f0def8ee9e1..da872ec87dab 100644 --- a/cmd/configschema/go.mod +++ b/cmd/configschema/go.mod @@ -570,7 +570,7 @@ require ( github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21 // indirect - github.com/scalyr/dataset-go v0.17.0 // indirect + github.com/scalyr/dataset-go v0.18.0 // indirect github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 // indirect github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect github.com/segmentio/asm v1.2.0 // indirect diff --git a/cmd/configschema/go.sum b/cmd/configschema/go.sum index 5472ff1a4020..5cba53db3aa1 100644 --- a/cmd/configschema/go.sum +++ b/cmd/configschema/go.sum @@ -1439,8 +1439,8 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0 github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21 h1:yWfiTPwYxB0l5fGMhl/G+liULugVIHD9AU77iNLrURQ= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= -github.com/scalyr/dataset-go v0.17.0 h1:5YI/VlbLHr4Ui6SegWm0yjZYioypWB68U7nFQBKNOn8= -github.com/scalyr/dataset-go v0.17.0/go.mod h1:ehHlPsZSgFWxOkud1eKwmKd5bLF9LcUFrU01XuCnh+8= +github.com/scalyr/dataset-go v0.18.0 h1:CTv7kk/FGdiicTWo3h1brFusHD1yjhVGINFamP8uukw= +github.com/scalyr/dataset-go v0.18.0/go.mod h1:4x0JK5X0UdhZ2TEO3kHu9pTELDRc3WsrBBwQfkOPZKc= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= diff --git a/cmd/otelcontribcol/go.mod b/cmd/otelcontribcol/go.mod index 6f62dcaa9478..04d427c6924f 100644 --- a/cmd/otelcontribcol/go.mod +++ b/cmd/otelcontribcol/go.mod @@ -600,7 +600,7 @@ require ( github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21 // indirect - github.com/scalyr/dataset-go v0.17.0 // indirect + github.com/scalyr/dataset-go v0.18.0 // indirect github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 // indirect github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect github.com/segmentio/asm v1.2.0 // indirect diff --git a/cmd/otelcontribcol/go.sum b/cmd/otelcontribcol/go.sum index 6f95bb9f38e0..01b0ee09cfd2 100644 --- a/cmd/otelcontribcol/go.sum +++ b/cmd/otelcontribcol/go.sum @@ -1439,8 +1439,8 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0 github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21 h1:yWfiTPwYxB0l5fGMhl/G+liULugVIHD9AU77iNLrURQ= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= -github.com/scalyr/dataset-go v0.17.0 h1:5YI/VlbLHr4Ui6SegWm0yjZYioypWB68U7nFQBKNOn8= -github.com/scalyr/dataset-go v0.17.0/go.mod h1:ehHlPsZSgFWxOkud1eKwmKd5bLF9LcUFrU01XuCnh+8= +github.com/scalyr/dataset-go v0.18.0 h1:CTv7kk/FGdiicTWo3h1brFusHD1yjhVGINFamP8uukw= +github.com/scalyr/dataset-go v0.18.0/go.mod h1:4x0JK5X0UdhZ2TEO3kHu9pTELDRc3WsrBBwQfkOPZKc= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds= diff --git a/exporter/datasetexporter/README.md b/exporter/datasetexporter/README.md index 21a341694786..05720c9645df 100644 --- a/exporter/datasetexporter/README.md +++ b/exporter/datasetexporter/README.md @@ -47,7 +47,8 @@ Make sure to provide the appropriate server host value in the `serverHost` attri - `debug` (default = false): Adds `session_key` to the server fields. It's useful for debugging throughput issues. - `buffer`: - - `max_lifetime` (default = 5s): The maximum delay between sending batches from the same source. + - `max_lifetime` (default = 5s): The maximum delay between sending batches from the same session. + - `purge_older_than` (default = 30s): The maximum delay between receiving data for the same session after which resources associated with it are purged. - `group_by` (default = []): The list of attributes based on which events should be grouped. They are moved from the event attributes to the session info and shown as server fields in the UI. - `retry_initial_interval` (default = 5s): Time to wait after the first failure before retrying. - `retry_max_interval` (default = 30s): Is the upper bound on backoff. @@ -307,7 +308,7 @@ To enable metrics you have to: ### Available Metrics Available metrics contain `dataset` in their name. There are counters related to the -number of processed events (`events`), buffers (`buffer`), and transferred bytes (`bytes`). +number of processed events (`events`), buffers (`buffer`), sessions (`sessions`), and transferred bytes (`bytes`). There are also histograms related to response times (`responseTime`) and payload size (`payloadSize`). There are several counters related to events/buffers: diff --git a/exporter/datasetexporter/config.go b/exporter/datasetexporter/config.go index da549b14ab62..22734ba4719a 100644 --- a/exporter/datasetexporter/config.go +++ b/exporter/datasetexporter/config.go @@ -106,6 +106,7 @@ func newDefaultLogsSettings() LogsSettings { } const bufferMaxLifetime = 5 * time.Second +const bufferPurgeOlderThan = 30 * time.Second const bufferRetryInitialInterval = 5 * time.Second const bufferRetryMaxInterval = 30 * time.Second const bufferRetryMaxElapsedTime = 300 * time.Second @@ -113,6 +114,7 @@ const bufferRetryShutdownTimeout = 30 * time.Second type BufferSettings struct { MaxLifetime time.Duration `mapstructure:"max_lifetime"` + PurgeOlderThan time.Duration `mapstructure:"purge_older_than"` GroupBy []string `mapstructure:"group_by"` RetryInitialInterval time.Duration `mapstructure:"retry_initial_interval"` RetryMaxInterval time.Duration `mapstructure:"retry_max_interval"` @@ -124,6 +126,7 @@ type BufferSettings struct { func newDefaultBufferSettings() BufferSettings { return BufferSettings{ MaxLifetime: bufferMaxLifetime, + PurgeOlderThan: bufferPurgeOlderThan, GroupBy: []string{}, RetryInitialInterval: bufferRetryInitialInterval, RetryMaxInterval: bufferRetryMaxInterval, @@ -211,6 +214,7 @@ func (c *Config) convert() (*ExporterConfig, error) { Tokens: datasetConfig.DataSetTokens{WriteLog: string(c.APIKey)}, BufferSettings: buffer_config.DataSetBufferSettings{ MaxLifetime: c.BufferSettings.MaxLifetime, + PurgeOlderThan: c.BufferSettings.PurgeOlderThan, MaxSize: buffer.LimitBufferSize, GroupBy: c.BufferSettings.GroupBy, RetryInitialInterval: c.BufferSettings.RetryInitialInterval, diff --git a/exporter/datasetexporter/config_test.go b/exporter/datasetexporter/config_test.go index 3bee2c9bea71..a833911a6adb 100644 --- a/exporter/datasetexporter/config_test.go +++ b/exporter/datasetexporter/config_test.go @@ -111,8 +111,9 @@ func TestConfigString(t *testing.T) { APIKey: "secret", Debug: true, BufferSettings: BufferSettings{ - MaxLifetime: 123, - GroupBy: []string{"field1", "field2"}, + MaxLifetime: 123, + PurgeOlderThan: 567, + GroupBy: []string{"field1", "field2"}, }, TracesSettings: TracesSettings{ exportSettings: exportSettings{ @@ -142,7 +143,7 @@ func TestConfigString(t *testing.T) { } assert.Equal(t, - "DatasetURL: https://example.com; APIKey: [REDACTED] (6); Debug: true; BufferSettings: {MaxLifetime:123ns GroupBy:[field1 field2] RetryInitialInterval:0s RetryMaxInterval:0s RetryMaxElapsedTime:0s RetryShutdownTimeout:0s}; LogsSettings: {ExportResourceInfo:true ExportResourcePrefix:AAA ExportScopeInfo:true ExportScopePrefix:BBB DecomposeComplexMessageField:true DecomposedComplexMessagePrefix:EEE exportSettings:{ExportSeparator:CCC ExportDistinguishingSuffix:DDD}}; TracesSettings: {exportSettings:{ExportSeparator:TTT ExportDistinguishingSuffix:UUU}}; ServerHostSettings: {UseHostName:false ServerHost:foo-bar}; BackOffConfig: {Enabled:true InitialInterval:5s RandomizationFactor:0.5 Multiplier:1.5 MaxInterval:30s MaxElapsedTime:5m0s}; QueueSettings: {Enabled:true NumConsumers:10 QueueSize:1000 StorageID:}; TimeoutSettings: {Timeout:5s}", + "DatasetURL: https://example.com; APIKey: [REDACTED] (6); Debug: true; BufferSettings: {MaxLifetime:123ns PurgeOlderThan:567ns GroupBy:[field1 field2] RetryInitialInterval:0s RetryMaxInterval:0s RetryMaxElapsedTime:0s RetryShutdownTimeout:0s}; LogsSettings: {ExportResourceInfo:true ExportResourcePrefix:AAA ExportScopeInfo:true ExportScopePrefix:BBB DecomposeComplexMessageField:true DecomposedComplexMessagePrefix:EEE exportSettings:{ExportSeparator:CCC ExportDistinguishingSuffix:DDD}}; TracesSettings: {exportSettings:{ExportSeparator:TTT ExportDistinguishingSuffix:UUU}}; ServerHostSettings: {UseHostName:false ServerHost:foo-bar}; BackOffConfig: {Enabled:true InitialInterval:5s RandomizationFactor:0.5 Multiplier:1.5 MaxInterval:30s MaxElapsedTime:5m0s}; QueueSettings: {Enabled:true NumConsumers:10 QueueSize:1000 StorageID:}; TimeoutSettings: {Timeout:5s}", config.String(), ) } diff --git a/exporter/datasetexporter/factory_test.go b/exporter/datasetexporter/factory_test.go index de983aaae7f8..3168a0efb47a 100644 --- a/exporter/datasetexporter/factory_test.go +++ b/exporter/datasetexporter/factory_test.go @@ -66,6 +66,7 @@ func TestLoadConfig(t *testing.T) { APIKey: "key-lib", BufferSettings: BufferSettings{ MaxLifetime: 345 * time.Millisecond, + PurgeOlderThan: bufferPurgeOlderThan, GroupBy: []string{"attributes.container_id", "attributes.log.file.path"}, RetryInitialInterval: bufferRetryInitialInterval, RetryMaxInterval: bufferRetryMaxInterval, @@ -88,6 +89,7 @@ func TestLoadConfig(t *testing.T) { Debug: true, BufferSettings: BufferSettings{ MaxLifetime: 3456 * time.Millisecond, + PurgeOlderThan: 78 * time.Second, GroupBy: []string{"body.map.kubernetes.pod_id", "body.map.kubernetes.docker_id", "body.map.stream"}, RetryInitialInterval: 21 * time.Second, RetryMaxInterval: 22 * time.Second, @@ -158,11 +160,16 @@ type CreateTest struct { } func createExporterTests() []CreateTest { + factory := NewFactory() + defaultCfg := factory.CreateDefaultConfig().(*Config) + defaultCfg.APIKey = "default-api-key" + defaultCfg.DatasetURL = "https://app.eu.scalyr.com" + return []CreateTest{ { name: "broken", config: &Config{}, - expectedError: fmt.Errorf("cannot get DataSetExporter: cannot convert config: DatasetURL: ; APIKey: [REDACTED] (0); Debug: false; BufferSettings: {MaxLifetime:0s GroupBy:[] RetryInitialInterval:0s RetryMaxInterval:0s RetryMaxElapsedTime:0s RetryShutdownTimeout:0s}; LogsSettings: {ExportResourceInfo:false ExportResourcePrefix: ExportScopeInfo:false ExportScopePrefix: DecomposeComplexMessageField:false DecomposedComplexMessagePrefix: exportSettings:{ExportSeparator: ExportDistinguishingSuffix:}}; TracesSettings: {exportSettings:{ExportSeparator: ExportDistinguishingSuffix:}}; ServerHostSettings: {UseHostName:false ServerHost:}; BackOffConfig: {Enabled:false InitialInterval:0s RandomizationFactor:0 Multiplier:0 MaxInterval:0s MaxElapsedTime:0s}; QueueSettings: {Enabled:false NumConsumers:0 QueueSize:0 StorageID:}; TimeoutSettings: {Timeout:0s}; config is not valid: api_key is required"), + expectedError: fmt.Errorf("cannot get DataSetExporter: cannot convert config: DatasetURL: ; APIKey: [REDACTED] (0); Debug: false; BufferSettings: {MaxLifetime:0s PurgeOlderThan:0s GroupBy:[] RetryInitialInterval:0s RetryMaxInterval:0s RetryMaxElapsedTime:0s RetryShutdownTimeout:0s}; LogsSettings: {ExportResourceInfo:false ExportResourcePrefix: ExportScopeInfo:false ExportScopePrefix: DecomposeComplexMessageField:false DecomposedComplexMessagePrefix: exportSettings:{ExportSeparator: ExportDistinguishingSuffix:}}; TracesSettings: {exportSettings:{ExportSeparator: ExportDistinguishingSuffix:}}; ServerHostSettings: {UseHostName:false ServerHost:}; BackOffConfig: {Enabled:false InitialInterval:0s RandomizationFactor:0 Multiplier:0 MaxInterval:0s MaxElapsedTime:0s}; QueueSettings: {Enabled:false NumConsumers:0 QueueSize:0 StorageID:}; TimeoutSettings: {Timeout:0s}; config is not valid: api_key is required"), }, { name: "valid", @@ -171,6 +178,7 @@ func createExporterTests() []CreateTest { APIKey: "key-lib", BufferSettings: BufferSettings{ MaxLifetime: 12345, + PurgeOlderThan: 78901, GroupBy: []string{"attributes.container_id"}, RetryInitialInterval: time.Second, RetryMaxInterval: time.Minute, @@ -188,5 +196,10 @@ func createExporterTests() []CreateTest { }, expectedError: nil, }, + { + name: "default", + config: defaultCfg, + expectedError: nil, + }, } } diff --git a/exporter/datasetexporter/go.mod b/exporter/datasetexporter/go.mod index 5c5c51fd73e9..654cefc1b055 100644 --- a/exporter/datasetexporter/go.mod +++ b/exporter/datasetexporter/go.mod @@ -6,7 +6,7 @@ require ( github.com/google/uuid v1.6.0 // github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.77.0 github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.94.0 - github.com/scalyr/dataset-go v0.17.0 + github.com/scalyr/dataset-go v0.18.0 github.com/stretchr/testify v1.8.4 go.opentelemetry.io/collector/component v0.94.1 go.opentelemetry.io/collector/confmap v0.94.1 diff --git a/exporter/datasetexporter/go.sum b/exporter/datasetexporter/go.sum index 196a445fe3fb..1f72633c8744 100644 --- a/exporter/datasetexporter/go.sum +++ b/exporter/datasetexporter/go.sum @@ -64,8 +64,8 @@ github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/scalyr/dataset-go v0.17.0 h1:5YI/VlbLHr4Ui6SegWm0yjZYioypWB68U7nFQBKNOn8= -github.com/scalyr/dataset-go v0.17.0/go.mod h1:ehHlPsZSgFWxOkud1eKwmKd5bLF9LcUFrU01XuCnh+8= +github.com/scalyr/dataset-go v0.18.0 h1:CTv7kk/FGdiicTWo3h1brFusHD1yjhVGINFamP8uukw= +github.com/scalyr/dataset-go v0.18.0/go.mod h1:4x0JK5X0UdhZ2TEO3kHu9pTELDRc3WsrBBwQfkOPZKc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= diff --git a/exporter/datasetexporter/logs_exporter_test.go b/exporter/datasetexporter/logs_exporter_test.go index 4d3d452a587a..7e63516c6378 100644 --- a/exporter/datasetexporter/logs_exporter_test.go +++ b/exporter/datasetexporter/logs_exporter_test.go @@ -813,6 +813,7 @@ func TestConsumeLogsShouldSucceed(t *testing.T) { Debug: true, BufferSettings: BufferSettings{ MaxLifetime: 2 * time.Second, + PurgeOlderThan: 10 * time.Second, GroupBy: []string{"attributes.container_id"}, RetryInitialInterval: time.Second, RetryMaxInterval: time.Minute, diff --git a/exporter/datasetexporter/testdata/config.yaml b/exporter/datasetexporter/testdata/config.yaml index a52fbacabe18..1338aec01753 100644 --- a/exporter/datasetexporter/testdata/config.yaml +++ b/exporter/datasetexporter/testdata/config.yaml @@ -17,6 +17,7 @@ dataset/full: debug: true buffer: max_lifetime: 3456ms + purge_older_than: 78s group_by: - body.map.kubernetes.pod_id - body.map.kubernetes.docker_id diff --git a/go.mod b/go.mod index 8d167ec2f9ad..443b9e62bdd6 100644 --- a/go.mod +++ b/go.mod @@ -570,7 +570,7 @@ require ( github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/samber/lo v1.38.1 // indirect github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21 // indirect - github.com/scalyr/dataset-go v0.17.0 // indirect + github.com/scalyr/dataset-go v0.18.0 // indirect github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 // indirect github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect github.com/segmentio/asm v1.2.0 // indirect diff --git a/go.sum b/go.sum index 04ac7dcee484..e1ff927802cd 100644 --- a/go.sum +++ b/go.sum @@ -1439,8 +1439,8 @@ github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0 github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21 h1:yWfiTPwYxB0l5fGMhl/G+liULugVIHD9AU77iNLrURQ= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.21/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= -github.com/scalyr/dataset-go v0.17.0 h1:5YI/VlbLHr4Ui6SegWm0yjZYioypWB68U7nFQBKNOn8= -github.com/scalyr/dataset-go v0.17.0/go.mod h1:ehHlPsZSgFWxOkud1eKwmKd5bLF9LcUFrU01XuCnh+8= +github.com/scalyr/dataset-go v0.18.0 h1:CTv7kk/FGdiicTWo3h1brFusHD1yjhVGINFamP8uukw= +github.com/scalyr/dataset-go v0.18.0/go.mod h1:4x0JK5X0UdhZ2TEO3kHu9pTELDRc3WsrBBwQfkOPZKc= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646 h1:RpforrEYXWkmGwJHIGnLZ3tTWStkjVVstwzNGqxX2Ds=