All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.opentelemetry.sdk.logs.LogLimits Maven / Gradle / Ivy

There is a newer version: 1.44.1
Show newest version
/*
 * Copyright The OpenTelemetry Authors
 * SPDX-License-Identifier: Apache-2.0
 */

package io.opentelemetry.sdk.logs;

import com.google.auto.value.AutoValue;
import io.opentelemetry.sdk.logs.data.LogRecordData;
import java.util.function.Supplier;
import javax.annotation.concurrent.Immutable;

/**
 * Class that holds limits enforced during log recording.
 *
 * 

Note: To allow dynamic updates of {@link LogLimits} you should register a {@link * java.util.function.Supplier} with {@link SdkLoggerProviderBuilder#setLogLimits(Supplier)} which * supplies dynamic configs when queried. * * @since 1.27.0 */ @AutoValue @Immutable public abstract class LogLimits { private static final LogLimits DEFAULT = new LogLimitsBuilder().build(); /** Returns the default {@link LogLimits}. */ public static LogLimits getDefault() { return DEFAULT; } /** Returns a new {@link LogLimitsBuilder} to construct a {@link LogLimits}. */ public static LogLimitsBuilder builder() { return new LogLimitsBuilder(); } static LogLimits create(int maxNumAttributes, int maxAttributeLength) { return new AutoValue_LogLimits(maxNumAttributes, maxAttributeLength); } LogLimits() {} /** * Returns the max number of attributes per {@link LogRecordData}. * * @return the max number of attributes per {@link LogRecordData}. */ public abstract int getMaxNumberOfAttributes(); /** * Returns the max number of characters for string attribute values. For string array attribute * values, applies to each entry individually. * * @return the max number of characters for attribute strings. */ public abstract int getMaxAttributeValueLength(); /** * Returns a {@link LogLimitsBuilder} initialized to the same property values as the current * instance. * * @return a {@link LogLimitsBuilder} initialized to the same property values as the current * instance. */ public LogLimitsBuilder toBuilder() { return new LogLimitsBuilder() .setMaxNumberOfAttributes(getMaxNumberOfAttributes()) .setMaxAttributeValueLength(getMaxAttributeValueLength()); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy