Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
31da43b
feat: upgrade contrib to v0.148.0 and absorb sawmills processors
amir-jakoby Mar 28, 2026
3212391
fix: register new processors in repo metadata
amir-jakoby Mar 28, 2026
e3f0ddf
fix: harden workflow automation guards
amir-jakoby Mar 28, 2026
05f3a8d
fix: align absorbed processor dependencies
amir-jakoby Mar 28, 2026
1fe88af
fix: tighten changelog PR generation defaults
amir-jakoby Mar 28, 2026
567228c
fix: restore changelog policy and hotreload makefile
amir-jakoby Mar 28, 2026
e46e67d
fix: unblock CI for v0.148.0 replay
amir-jakoby Mar 28, 2026
afa003d
fix: refresh tidylist ordering
amir-jakoby Mar 28, 2026
f6d4287
fix: resolve final CI regressions
amir-jakoby Mar 28, 2026
c9c16ff
fix: address workflow review feedback
amir-jakoby Mar 28, 2026
86c8205
fix: address remaining workflow review issues
amir-jakoby Mar 28, 2026
653c7ee
fix: unblock doc links and import checks
amir-jakoby Mar 28, 2026
84292be
fix: unblock remaining CI docs and distribution drift
amir-jakoby Mar 28, 2026
03e1b3d
fix: unblock metadata codegen and flaky link checks
amir-jakoby Mar 29, 2026
e5dfc0f
fix: unblock processor module CI gates
amir-jakoby Mar 29, 2026
bf7ea02
fix: unblock final ci checks
amir-jakoby Mar 29, 2026
0ea4a69
fix: unblock loadbalancingexporter codegen
amir-jakoby Mar 29, 2026
fde749c
fix: unblock final ci gates
amir-jakoby Mar 29, 2026
76dc329
fix: align generated imports for checks
amir-jakoby Mar 29, 2026
8773500
ci: scope markdown link checks to changed docs
amir-jakoby Mar 29, 2026
1bab92d
ci: suppress flaky link-check URLs
amir-jakoby Mar 29, 2026
ef701b9
ci: suppress flaky doc host failures
amir-jakoby Mar 29, 2026
c8ab163
ci: suppress flaky skywalking link check
amir-jakoby Mar 30, 2026
ed319f5
ci: suppress flaky doc host timeouts
amir-jakoby Mar 30, 2026
0cacd89
ci: suppress unstable doc link checks
amir-jakoby Mar 30, 2026
a017ade
ci: suppress additional flaky docs
amir-jakoby Mar 30, 2026
d62cbbe
fix: commit linux-generated metadata imports
amir-jakoby Mar 30, 2026
b62d342
fix: align CI metadata imports and link checks
amir-jakoby Mar 30, 2026
ea0dead
ci: suppress flaky flink link checks
amir-jakoby Mar 30, 2026
80b6a5e
build: regenerate generated tests after make generate
amir-jakoby Mar 30, 2026
2aef135
build: regenerate generated tests after make generate
amir-jakoby Mar 30, 2026
57cffbf
build: normalize cadvisor import spacing
amir-jakoby Mar 30, 2026
f2c443c
build: normalize generated import order after make gogci
amir-jakoby Mar 30, 2026
db59ede
fix: align generated outputs for SAW-6831
amir-jakoby Mar 30, 2026
d9ff8d3
fix: retry govulncheck on transient fetch errors
amir-jakoby Mar 30, 2026
231ab0f
fix: update lokireceiver docs link
amir-jakoby Mar 30, 2026
149ac0c
fix: clear hotreloadprocessor lint drift
amir-jakoby Mar 30, 2026
3dd2a99
fix(loadbalancingexporter): restore compress_in_memory compatibility
amir-jakoby Mar 31, 2026
44a7999
fix: address hotreload and workflow review feedback
amir-jakoby Mar 31, 2026
483a26b
Merge remote-tracking branch 'origin/main' into amiri/saw-6831-v0.148…
amir-jakoby Mar 31, 2026
b21c0dc
fix: reconcile merge fallout after main sync
amir-jakoby Mar 31, 2026
dd72d68
fix(loadbalancingexporter): restore compress_in_memory compatibility
amir-jakoby Mar 31, 2026
24d8f6b
fix: restore in-memory queue compression path
amir-jakoby Mar 31, 2026
bdcd972
fix: add inmemorystorage module makefile
amir-jakoby Mar 31, 2026
852decb
fix: add inmemorystorage README
amir-jakoby Mar 31, 2026
7593f90
fix: add inmemorystorage metadata
amir-jakoby Mar 31, 2026
441002e
fix: harden in-memory storage and queue path
amir-jakoby Mar 31, 2026
2feb61b
fix: unexport in-memory storage implementation
amir-jakoby Mar 31, 2026
9a1f1ce
fix: refresh tidylist for in-memory storage extension
amir-jakoby Mar 31, 2026
7d8959b
fix: tidy loadbalancingexporter module deps
amir-jakoby Mar 31, 2026
27ef2f7
fix: refresh distributions manifest for inmemorystorage
amir-jakoby Mar 31, 2026
aab0d17
fix: refresh codecov manifest for inmemorystorage
amir-jakoby Mar 31, 2026
d014327
fix: satisfy in-memory storage lint
amir-jakoby Mar 31, 2026
be68922
ci: print codegen drift diagnostics
amir-jakoby Mar 31, 2026
c121c13
fix: regenerate hotreload s3 test
amir-jakoby Mar 31, 2026
0a6f7bb
fix: add in-memory storage module to multimod set
amir-jakoby Mar 31, 2026
141d9f7
fix: update issue template dropdowns
amir-jakoby Mar 31, 2026
ddaf8ce
fix: ignore windows dns resolver goroutines
amir-jakoby Mar 31, 2026
79c21e2
fix: regenerate changelog components
amir-jakoby Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .chloggen/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ components:
- extension/healthcheckv2
- extension/host_observer
- extension/http_forwarder
- extension/inmemorystorage
- extension/jaeger_encoding
- extension/jaegerremotesampling
- extension/json_log_encoding
Expand Down
4 changes: 4 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,10 @@ component_management:
name: extension_storage_filestorage
paths:
- extension/storage/filestorage/**
- component_id: extension_storage_inmemorystorage
name: extension_storage_inmemorystorage
paths:
- extension/storage/inmemorystorage/**
- component_id: extension_storage_redisstorage
name: extension_storage_redisstorage
paths:
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/beta_stability.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ body:
- extension/storage
- extension/storage/dbstorage
- extension/storage/filestorage
- extension/storage/inmemorystorage
- extension/storage/redisstorage
- extension/sumologic
- internal/aws
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ body:
- extension/storage
- extension/storage/dbstorage
- extension/storage/filestorage
- extension/storage/inmemorystorage
- extension/storage/redisstorage
- extension/sumologic
- internal/aws
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ body:
- extension/storage
- extension/storage/dbstorage
- extension/storage/filestorage
- extension/storage/inmemorystorage
- extension/storage/redisstorage
- extension/sumologic
- internal/aws
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/other.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ body:
- extension/storage
- extension/storage/dbstorage
- extension/storage/filestorage
- extension/storage/inmemorystorage
- extension/storage/redisstorage
- extension/sumologic
- internal/aws
Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/unmaintained.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,7 @@ body:
- extension/storage
- extension/storage/dbstorage
- extension/storage/filestorage
- extension/storage/inmemorystorage
- extension/storage/redisstorage
- extension/sumologic
- internal/aws
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,12 @@ jobs:
run: |
make generate
if [[ -n $(git status -s) ]]; then
echo "::group::git status"
git status -s
echo "::endgroup::"
echo "::group::git diff --name-only"
git diff --name-only
echo "::endgroup::"
echo 'Generated code is out of date, please run "make generate" and commit the changes in this PR.'
exit 1
fi
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/scripts/approve-workflows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if [[ -z "${PR_NUMBER:-}" || -z "${COMMENT:-}" || -z "${SENDER:-}" || -z "${ORG_
exit 0
fi

if [[ ${COMMENT:0:18} != "/workflow-approve" ]]; then
if [[ ${COMMENT:0:17} != "/workflow-approve" ]]; then
echo "Not a workflow-approve command"
exit 0
fi
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/scripts/check-disk-space.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
declare BASELINE_SPACE

free_space=$(df -BM --output=avail / | sed '1d;s/[^0-9]//g')
BASELINE_SPACE=${BASELINE_SPACE:-$free_space}
used_space=$((BASELINE_SPACE - free_space))
echo "Job used $used_space MiB of disk space, $free_space MiB remain."
if [ "$used_space" -gt 14336 ]; then
Expand Down
30 changes: 13 additions & 17 deletions .github/workflows/scripts/generate-codeowners-activity.js
Original file line number Diff line number Diff line change
Expand Up @@ -295,13 +295,6 @@ async function computePrStats(octokit, prs, labelToOwners, componentLabels, peri
* Per-code-owner target is 75% / (number of code owners for that component).
*/
function formatTable(byCodeOwnerAndComponent, kind) {
const codeOwnerCountByComponent = {};
for (const [, byComponent] of Object.entries(byCodeOwnerAndComponent)) {
for (const component of Object.keys(byComponent)) {
codeOwnerCountByComponent[component] = (codeOwnerCountByComponent[component] || 0) + 1;
}
}

const rows = [];
for (const [login, byComponent] of Object.entries(byCodeOwnerAndComponent)) {
for (const [component, v] of Object.entries(byComponent)) {
Expand Down Expand Up @@ -329,13 +322,7 @@ function formatTable(byCodeOwnerAndComponent, kind) {
/**
* Per-component summary: % of the component's PRs that received at least one code-owner review (target ≥75%).
*/
function formatComponentSummaryTable(byCodeOwnerAndComponent, componentPrStats) {
const codeOwnerCountByComponent = {};
for (const [login, components] of Object.entries(byCodeOwnerAndComponent)) {
for (const component of Object.keys(components)) {
codeOwnerCountByComponent[component] = (codeOwnerCountByComponent[component] || 0) + 1;
}
}
function formatComponentSummaryTable(codeOwnerCountByComponent, componentPrStats) {
const rows = Object.entries(componentPrStats || {})
.filter(([, v]) => v.prsTotal > 0)
.map(([component, v]) => {
Expand All @@ -355,6 +342,14 @@ function formatComponentSummaryTable(byCodeOwnerAndComponent, componentPrStats)
return `${header}\n${sep}\n${body}\n`;
}

function countCodeOwnersByComponent(labelToOwners) {
const counts = {};
for (const [component, owners] of Object.entries(labelToOwners)) {
counts[component] = owners.length;
}
return counts;
}

function collapsibleSection(title, content) {
return `<details>
<summary>${title}</summary>
Expand All @@ -363,7 +358,7 @@ ${content}
</details>`;
}

function generateReport(prStats, componentPrStats, lookbackData) {
function generateReport(prStats, componentPrStats, codeOwnerCountByComponent, lookbackData) {
const startStr = lookbackData.periodStart.toISOString().slice(0, 10);
const endStr = lookbackData.periodEnd.toISOString().slice(0, 10);
const out = [
Expand All @@ -375,7 +370,7 @@ function generateReport(prStats, componentPrStats, lookbackData) {
``,
`### Component PR review rate (${COMPONENT_TARGET_PCT}% target)`,
``,
formatComponentSummaryTable(prStats, componentPrStats),
formatComponentSummaryTable(codeOwnerCountByComponent, componentPrStats),
``,
collapsibleSection('PRs (per code owner)', formatTable(prStats, 'PRs')),
];
Expand Down Expand Up @@ -409,6 +404,7 @@ async function main({ github, context }) {
const pathToOwners = parseCodeowners(codeownersPath);
const { pathToLabel, allLabels } = parseComponentLabels(labelsPath);
const labelToOwners = buildLabelToCodeOwners(pathToOwners, pathToLabel);
const codeOwnerCountByComponent = countCodeOwnersByComponent(labelToOwners);
// Only consider PRs/issues that have at least one of the focus component labels
const componentLabels = new Set([...allLabels].filter(isAllowedLabel));

Expand All @@ -417,7 +413,7 @@ async function main({ github, context }) {

const { byCodeOwnerAndComponent: prStats, componentPrStats } = await computePrStats(octokit, prs30, labelToOwners, componentLabels, lookbackData.periodStart, lookbackData.periodEnd);

const report = generateReport(prStats, componentPrStats, lookbackData);
const report = generateReport(prStats, componentPrStats, codeOwnerCountByComponent, lookbackData);

// Dry run: set DRY_RUN=true or DRY_RUN=1 to print the report without creating an issue.
const dryRun = process.env.DRY_RUN === 'true' || process.env.DRY_RUN === '1';
Expand Down
1 change: 1 addition & 0 deletions cmd/otelcontribcol/builder-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ extensions:
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/solarwindsapmsettingsextension v0.148.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/dbstorage v0.148.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/filestorage v0.148.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/inmemorystorage v0.148.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/redisstorageextension v0.148.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/sumologicextension v0.148.0
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/encoding/awscloudwatchmetricstreamsencodingextension v0.148.0
Expand Down
2 changes: 1 addition & 1 deletion exporter/loadbalancingexporter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ exporters:
payload_compression: zstd
```

`sending_queue.compress_in_memory` is currently not supported by this exporter helper version. If set, config validation fails instead of silently ignoring it.
`sending_queue.compress_in_memory` is retained for compatibility. It requires `sending_queue` to be configured and a non-`none` `sending_queue.payload_compression` value. When enabled, the exporter uses an internal in-memory storage backend so the queue payload codec still applies.

Kubernetes resolver example (For a more specific example: [example/k8s-resolver](./example/k8s-resolver/README.md))
> [!IMPORTANT]
Expand Down
32 changes: 26 additions & 6 deletions exporter/loadbalancingexporter/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,17 +74,21 @@ func (q *QueueSettings) Unmarshal(conf *confmap.Conf) error {
return nil
}

// QueueBatchConfig has its own Unmarshal implementation that rejects unknown fields.
// Parse the queue payload compression fields separately so they can coexist with queue settings.
queueCfg := conf.ToStringMap()
payloadRaw, hasPayload := queueCfg["payload_compression"]
compressRaw, hasCompressInMemory := queueCfg["compress_in_memory"]
enabledRaw, hasEnabled := queueCfg["enabled"]
delete(queueCfg, "payload_compression")
delete(queueCfg, "compress_in_memory")
delete(queueCfg, "enabled")

queueConf := confmap.NewFromStringMap(queueCfg)
if err := queueConf.Unmarshal(&q.QueueConfig); err != nil {
return err
enabled := hasPayload || hasCompressInMemory || len(queueCfg) > 0
if hasEnabled {
enabledVal, ok := enabledRaw.(bool)
if !ok {
return errors.New("sending_queue.enabled must be a bool")
}
enabled = enabledVal
}

if hasPayload {
Expand All @@ -103,6 +107,18 @@ func (q *QueueSettings) Unmarshal(conf *confmap.Conf) error {
q.CompressInMemory = compressInMemory
}

if !enabled {
q.QueueConfig = configoptional.None[exporterhelper.QueueBatchConfig]()
return nil
}

queueConf := confmap.NewFromStringMap(queueCfg)
queueConfig := exporterhelper.NewDefaultQueueConfig()
if err := queueConf.Unmarshal(&queueConfig); err != nil {
return err
}
q.QueueConfig = configoptional.Some(queueConfig)

return nil
}

Expand All @@ -116,7 +132,11 @@ const (

func (q QueueSettings) Validate() error {
if q.QueueConfig.HasValue() {
if err := q.QueueConfig.Get().Validate(); err != nil {
queueCfg := *q.QueueConfig.Get()
Comment thread
sawmills-architect-review[bot] marked this conversation as resolved.
if q.CompressInMemory && queueCfg.StorageID == nil {
queueCfg.StorageID = &inMemoryQueueStorageID
}
if err := queueCfg.Validate(); err != nil {
Comment thread
cursor[bot] marked this conversation as resolved.
Comment thread
sawmills-architect-review[bot] marked this conversation as resolved.
return err
}
}
Expand Down
9 changes: 9 additions & 0 deletions exporter/loadbalancingexporter/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ func TestConfigValidatePayloadCompression(t *testing.T) {
cfg.QueueSettings.QueueConfig = configoptional.Some(exporterhelper.NewDefaultQueueConfig())
cfg.QueueSettings.PayloadCompression = QueuePayloadCompressionSnappy
require.NoError(t, cfg.Validate())
require.Nil(t, cfg.QueueSettings.QueueConfig.Get().StorageID)

cfg.QueueSettings.PayloadCompression = QueuePayloadCompressionZstd
require.NoError(t, cfg.Validate())
Expand All @@ -61,6 +62,12 @@ func TestConfigValidateCompressInMemory(t *testing.T) {

cfg.QueueSettings.PayloadCompression = QueuePayloadCompressionZstd
require.NoError(t, cfg.Validate())

queueCfg := exporterhelper.NewDefaultQueueConfig()
queueCfg.WaitForResult = true
cfg.QueueSettings.QueueConfig = configoptional.Some(queueCfg)
cfg.QueueSettings.PayloadCompression = QueuePayloadCompressionSnappy
require.ErrorContains(t, cfg.Validate(), "`wait_for_result` is not supported with a persistent queue configured with `storage`")
}

func TestConfigValidateLogBatcher(t *testing.T) {
Expand Down Expand Up @@ -110,6 +117,8 @@ func TestLoadConfigWithQueueCompression(t *testing.T) {

require.NoError(t, conf.Unmarshal(cfg))
require.True(t, cfg.QueueSettings.QueueConfig.HasValue())
require.Equal(t, int64(1000), cfg.QueueSettings.QueueConfig.Get().QueueSize)
require.Equal(t, 2, cfg.QueueSettings.QueueConfig.Get().NumConsumers)
require.Equal(t, QueuePayloadCompressionZstd, cfg.QueueSettings.PayloadCompression)
require.True(t, cfg.QueueSettings.CompressInMemory)
}
Expand Down
23 changes: 19 additions & 4 deletions exporter/loadbalancingexporter/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,15 @@ import (
"go.uber.org/zap"

"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/loadbalancingexporter/internal/metadata"
"github.com/open-telemetry/opentelemetry-collector-contrib/extension/storage/inmemorystorage"
)

const (
zapEndpointKey = "endpoint"
)

var inMemoryQueueStorageID = component.NewID(inmemorystorage.Type)

// NewFactory creates a factory for the exporter.
func NewFactory() exporter.Factory {
return exporter.NewFactory(
Expand All @@ -42,7 +45,6 @@ func createDefaultConfig() component.Config {
otlpFactory := otlpexporter.NewFactory()
otlpDefaultCfg := otlpFactory.CreateDefaultConfig().(*otlpexporter.Config)
otlpDefaultCfg.ClientConfig.Endpoint = "placeholder:4317"
queueCfg := exporterhelper.NewDefaultQueueConfig()

return &Config{
// By default we disable resilience options on loadbalancing exporter level
Expand All @@ -51,7 +53,7 @@ func createDefaultConfig() component.Config {
OTLP: *otlpDefaultCfg,
},
QueueSettings: QueueSettings{
QueueConfig: configoptional.Default(queueCfg),
QueueConfig: configoptional.None[exporterhelper.QueueBatchConfig](),
PayloadCompression: QueuePayloadCompressionNone,
},
LogBatcher: LogBatcherConfig{
Expand Down Expand Up @@ -94,14 +96,14 @@ func buildExporterResilienceOptions(
if cfg.TimeoutSettings.Timeout > 0 {
options = append(options, exporterhelper.WithTimeout(cfg.TimeoutSettings))
}
if cfg.QueueSettings.QueueConfig.HasValue() {
if queueCfg, ok := queueConfigForExport(cfg); ok {
if payloadCodec != nil && qbs.Encoding != nil {
qbs.Encoding = payloadCodecEncoding{
encoding: qbs.Encoding,
codec: payloadCodec,
}
}
options = append(options, xexporterhelper.WithQueueBatch(cfg.QueueSettings.QueueConfig, qbs))
options = append(options, xexporterhelper.WithQueueBatch(queueCfg, qbs))
}
if cfg.Enabled {
options = append(options, exporterhelper.WithRetry(cfg.BackOffConfig))
Expand Down Expand Up @@ -201,3 +203,16 @@ func shutdownWithCodec(shutdown component.ShutdownFunc, codec *queuePayloadCodec
return multierr.Append(shutdown.Shutdown(ctx), codec.Close())
}
}

func queueConfigForExport(cfg *Config) (configoptional.Optional[exporterhelper.QueueBatchConfig], bool) {
if !cfg.QueueSettings.QueueConfig.HasValue() {
return configoptional.None[exporterhelper.QueueBatchConfig](), false
}

queueCfg := *cfg.QueueSettings.QueueConfig.Get()
if cfg.QueueSettings.CompressInMemory && queueCfg.StorageID == nil {
queueCfg.StorageID = &inMemoryQueueStorageID
}

return configoptional.Some(queueCfg), true
}
16 changes: 14 additions & 2 deletions exporter/loadbalancingexporter/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -232,9 +232,9 @@ func TestBuildExporterResilienceOptions(t *testing.T) {
cfg.TimeoutSettings = exporterhelper.NewDefaultTimeoutConfig()
cfg.QueueSettings.QueueConfig = configoptional.Some(exporterhelper.NewDefaultQueueConfig())

assert.Len(t, buildExporterResilienceOptions(o, cfg, newQueuePayloadCodecIfEnabled(cfg), newSettings()), 2)
assert.Len(t, buildExporterResilienceOptions(o, cfg, nil, newSettings()), 2)
})
t.Run("Should have timeout, queue and compression options when compression is enabled", func(t *testing.T) {
t.Run("Should have timeout, queue and payload codec options when compression is enabled", func(t *testing.T) {
o := []exporterhelper.Option{}
cfg := createDefaultConfig().(*Config)
cfg.TimeoutSettings = exporterhelper.NewDefaultTimeoutConfig()
Expand Down Expand Up @@ -269,3 +269,15 @@ func TestNewQueuePayloadCodecIfEnabled(t *testing.T) {
assert.NotNil(t, newQueuePayloadCodecIfEnabled(cfg))
})
}

func TestQueueConfigForExportUsesInMemoryStorageWhenRequested(t *testing.T) {
cfg := createDefaultConfig().(*Config)
cfg.QueueSettings.QueueConfig = configoptional.Some(exporterhelper.NewDefaultQueueConfig())
cfg.QueueSettings.CompressInMemory = true

queueCfg, ok := queueConfigForExport(cfg)
require.True(t, ok)
require.True(t, queueCfg.HasValue())
require.NotNil(t, queueCfg.Get().StorageID)
assert.Equal(t, inMemoryQueueStorageID, *queueCfg.Get().StorageID)
}
2 changes: 1 addition & 1 deletion exporter/loadbalancingexporter/generated_package_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading