Class Resource

  • Direct Known Subclasses:
    AutoValue_Resource

    @Immutable
    public abstract class Resource
    extends java.lang.Object
    Resource represents a resource, which capture identifying information about the entities for which signals (stats or traces) are reported.
    • Field Detail

      • logger

        private static final java.util.logging.Logger logger
      • SERVICE_NAME

        private static final AttributeKey<java.lang.String> SERVICE_NAME
      • TELEMETRY_SDK_LANGUAGE

        private static final AttributeKey<java.lang.String> TELEMETRY_SDK_LANGUAGE
      • TELEMETRY_SDK_NAME

        private static final AttributeKey<java.lang.String> TELEMETRY_SDK_NAME
      • TELEMETRY_SDK_VERSION

        private static final AttributeKey<java.lang.String> TELEMETRY_SDK_VERSION
      • ERROR_MESSAGE_INVALID_CHARS

        private static final java.lang.String ERROR_MESSAGE_INVALID_CHARS
        See Also:
        Constant Field Values
      • ERROR_MESSAGE_INVALID_VALUE

        private static final java.lang.String ERROR_MESSAGE_INVALID_VALUE
        See Also:
        Constant Field Values
      • EMPTY

        private static final Resource EMPTY
      • TELEMETRY_SDK

        private static final Resource TELEMETRY_SDK
      • MANDATORY

        private static final Resource MANDATORY
        The MANDATORY Resource instance contains the mandatory attributes that must be used if they are not provided by the Resource that is given to an SDK signal provider.
      • DEFAULT

        private static final Resource DEFAULT
    • Constructor Detail

      • Resource

        Resource()
    • Method Detail

      • getDefault

        public static Resource getDefault()
        Returns the default Resource. This resource contains the default attributes provided by the SDK.
        Returns:
        a Resource.
      • empty

        public static Resource empty()
        Returns an empty Resource. When creating a Resource, it is strongly recommended to start with getDefault() instead of this method to include SDK required attributes.
        Returns:
        an empty Resource.
      • create

        public static Resource create​(Attributes attributes)
        Returns a Resource.
        Parameters:
        attributes - a map of attributes that describe the resource.
        Returns:
        a Resource.
        Throws:
        java.lang.NullPointerException - if attributes is null.
        java.lang.IllegalArgumentException - if attribute key or attribute value is not a valid printable ASCII string or exceed MAX_LENGTH characters.
      • create

        public static Resource create​(Attributes attributes,
                                      @Nullable
                                      java.lang.String schemaUrl)
        Returns a Resource.
        Parameters:
        attributes - a map of Attributes that describe the resource.
        schemaUrl - The URL of the OpenTelemetry schema used to create this Resource.
        Returns:
        a Resource.
        Throws:
        java.lang.NullPointerException - if attributes is null.
        java.lang.IllegalArgumentException - if attribute key or attribute value is not a valid printable ASCII string or exceed MAX_LENGTH characters.
      • getSchemaUrl

        @Nullable
        public abstract java.lang.String getSchemaUrl()
        Returns the URL of the OpenTelemetry schema used by this resource. May be null.
        Returns:
        An OpenTelemetry schema URL.
        Since:
        1.4.0
      • getAttributes

        public abstract Attributes getAttributes()
        Returns a map of attributes that describe the resource.
        Returns:
        a map of attributes.
      • getAttribute

        @Nullable
        public <T> T getAttribute​(AttributeKey<T> key)
        Returns the value for a given resource attribute key.
        Returns:
        the value of the attribute with the given key
      • merge

        public Resource merge​(@Nullable
                              Resource other)
        Returns a new, merged Resource by merging the current Resource with the other Resource. In case of a collision, the "other" Resource takes precedence.
        Parameters:
        other - the Resource that will be merged with this.
        Returns:
        the newly merged Resource.
      • checkAttributes

        private static void checkAttributes​(Attributes attributes)
      • isValid

        private static boolean isValid​(java.lang.String name)
        Determines whether the given String is a valid printable ASCII string with a length not exceed MAX_LENGTH characters.
        Parameters:
        name - the name to be validated.
        Returns:
        whether the name is valid.
      • isValidAndNotEmpty

        private static boolean isValidAndNotEmpty​(AttributeKey<?> name)
        Determines whether the given String is a valid printable ASCII string with a length greater than 0 and not exceed MAX_LENGTH characters.
        Parameters:
        name - the name to be validated.
        Returns:
        whether the name is valid.