DataAmount (Java SE 22 & JDK 22)
Description: declaration: module: jdk.jfr, package: jdk.jfr, annotation type: DataAmount
Keywords: jdk.jfr.DataAmount class

Module jdk.jfr
Package jdk.jfr

# Annotation Interface DataAmount

@Retention(RUNTIME) @Target({FIELD,TYPE,METHOD}) public @interface DataAmount
Event field annotation, specifies that a value represents an amount of data (for example, bytes).

The following example shows how the `DataAmount` annotation can be used to set the units `BITS` and `BYTES` to event fields.

    @Name("com.example.ImageRender")
    @Label("Image Render")
    public class ImageRender extends Event {
        @Label("Height")
        long height;

        @Label("Width")
        long width;

        @Label("Color Depth")
        @DataAmount(DataAmount.BITS)
        int colorDepth;

        @Label("Memory Size")
        @DataAmount // bytes by default
        long memorySize;
    }

Since:
  9

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `BITS`
  Unit for bits
  `static final String`
  `BYTES`
  Unit for bytes

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `String`
  `value`
  Returns the unit for the data amount, by default bytes.

- ## Field Details

  - ### BITS

    static final String BITS
    Unit for bits
    See Also:
      - Constant Field Values

  - ### BYTES

    static final String BYTES
    Unit for bytes
    See Also:
      - Constant Field Values

- ## Element Details

  - ### value

    String value
    Returns the unit for the data amount, by default bytes.
    Returns:
      the data amount unit, default `BYTES`, not `null`
    Default:
      `"BYTES"`