Class Meter.Id

java.lang.Object
io.micrometer.core.instrument.Meter.Id
Enclosing interface:
Meter

public static class Meter.Id extends Object
A meter is uniquely identified by its combination of name and tags.
  • Constructor Details

  • Method Details

    • withName

      public Meter.Id withName(String newName)
      Generate a new id with a different name.
      Parameters:
      newName - The new name.
      Returns:
      A new id with the provided name. The source id remains unchanged.
    • withTag

      public Meter.Id withTag(Tag tag)
      Generate a new id with an additional tag. If the key of the provided tag already exists, this overwrites the tag value.
      Parameters:
      tag - The tag to add.
      Returns:
      A new id with the provided tag added. The source id remains unchanged.
    • withTags

      public Meter.Id withTags(Iterable<Tag> tags)
      Generate a new id with additional tags. If the key of the provided tag already exists, this overwrites the tag value.
      Parameters:
      tags - The tags to add.
      Returns:
      A new id with the provided tags added. The source id remains unchanged.
      Since:
      1.1.0
    • replaceTags

      public Meter.Id replaceTags(Iterable<Tag> tags)
      Generate a new id replacing all tags with new ones.
      Parameters:
      tags - The tags to add.
      Returns:
      A new id with the only the provided tags. The source id remains unchanged.
      Since:
      1.1.0
    • withTag

      public Meter.Id withTag(Statistic statistic)
      Generate a new id with an additional tag with a tag key of "statistic". If the "statistic" tag already exists, this overwrites the tag value.
      Parameters:
      statistic - The statistic tag to add.
      Returns:
      A new id with the provided tag. The source id remains unchanged.
    • withBaseUnit

      public Meter.Id withBaseUnit(@Nullable String newBaseUnit)
      Generate a new id with a different base unit.
      Parameters:
      newBaseUnit - The base unit of the new id.
      Returns:
      A new id with the provided base unit.
    • getName

      public String getName()
      Returns:
      The name of this meter.
    • getTags

      public List<Tag> getTags()
      Returns:
      A set of dimensions that allows you to break down the name.
    • getTagsAsIterable

      public Iterable<Tag> getTagsAsIterable()
    • getTag

      @Nullable public String getTag(String key)
      Parameters:
      key - The tag key to attempt to match.
      Returns:
      A matching tag value, or null if no tag with the provided key exists on this id.
    • getBaseUnit

      @Nullable public String getBaseUnit()
      Returns:
      The base unit of measurement for this meter.
    • getConventionName

      public String getConventionName(NamingConvention namingConvention)
      Parameters:
      namingConvention - The naming convention used to normalize the id's name.
      Returns:
      A name that has been stylized to a particular monitoring system's expectations.
    • getConventionTags

      public List<Tag> getConventionTags(NamingConvention namingConvention)
      Tags that are sorted by key and formatted
      Parameters:
      namingConvention - The naming convention used to normalize the id's name.
      Returns:
      A list of tags that have been stylized to a particular monitoring system's expectations.
    • getDescription

      @Nullable public String getDescription()
      Returns:
      A description of the meter's purpose. This description text is published to monitoring systems that support description text.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(@Nullable Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getType

      public Meter.Type getType()
      The type is used by different registry implementations to structure the exposition of metrics to different backends.
      Returns:
      The meter's type.
    • syntheticAssociation

      @Incubating(since="1.1.0") @Nullable public Meter.Id syntheticAssociation()
      For internal use. Indicates that this Id is tied to a meter that is a derivative of another metric. For example, percentiles and histogram gauges generated by HistogramGauges are derivatives of a Timer or DistributionSummary.

      This method may be removed in future minor or major releases if we find a way to mark derivatives in a private way that does not have other API compatibility consequences.

      Returns:
      The meter id of a meter for which this metric is a synthetic derivative.