# Uses of Annotation Interface
jdk.jfr.MetadataDefinition

Packages that use MetadataDefinition
Package
Description
jdk.jfr
This package provides classes to create events and control Flight Recorder.

## Uses of MetadataDefinition in jdk.jfr

Classes in jdk.jfr with annotations of type MetadataDefinition
Modifier and Type
Class
Description
`@interface`
`BooleanFlag`
Event field annotation, specifies that the value is a boolean flag, a `true` or `false` value.
`@interface`
`Category`
Event annotation, to associate the event type with a category, in the format of a human-readable path.
`@interface`
`ContentType`
Meta annotation, specifies that an annotation represents a content type, such as a time span or a frequency.
`@interface`
`DataAmount`
Event field annotation, specifies that a value represents an amount of data (for example, bytes).
`@interface`
`Description`
Annotation that describes an element by using a sentence or two.
`@interface`
`Enabled`
Event annotation, determines if an event should be enabled by default.
`@interface`
`Experimental`
Annotation that specifies that an element is experimental and may change without notice.
`@interface`
`Frequency`
Event field annotation, specifies that the value is a frequency, measured in Hz.
`@interface`
`Label`
Annotation that sets a human-readable name for an element (for example, `"Maximum Throughput"`).
`@interface`
`MemoryAddress`
Event field annotation, specifies that the value is a memory address.
`@interface`
`Name`
Annotation that sets the default name for an element.
`@interface`
`Percentage`
Event field annotation to use on fractions, typically between `0.0` and `1.0`, to specify that the value is a percentage.
`@interface`
`Period`
Event annotation, specifies the default setting value for a periodic event.
`@interface`
`Relational`
Meta annotation for relational annotations, to be used on an annotation.
`class`
`SettingControl`
Base class to extend to create setting controls.
`@interface`
`StackTrace`
Event annotation, determines whether an event by default has a stack trace or not.
`@interface`
`Threshold`
Event annotation, specifies the default duration below which an event is not recorded (for example, `"20 ms"`).
`@interface`
`Timespan`
Event field annotation, specifies that the value is a duration.
`@interface`
`Timestamp`
Event field annotation, specifies that the value is a point in time.
`@interface`
`TransitionFrom`
Event field annotation, specifies that the event transitioned from a thread.
`@interface`
`TransitionTo`
Event field annotation, specifies that the event will soon transition to a thread.
`@interface`
`Unsigned`
Event field annotation, specifies that the value is of an unsigned data type.