Тип аннотации Категория

@Target(TYPE)
@Inherited
@Retention(RUNTIME)
public @interface Category

Аннотация события, для связывания типа события с категорией в формате удобочитаемого пути.

Категория определяет, как событие будет представлено пользователю. События, принадлежащие к одной категории, обычно отображаются вместе на графиках и деревьях. Чтобы избежать перекрытия продолжительных событий в графических представлениях, перекрывающиеся события должны быть в разных категориях.

Например, для мониторинга загрузки изображений на веб-сервер с отдельной нитью для каждой загрузки, событие под названием Загрузка файла начинается, когда пользователь загружает файл, и заканчивается, когда загрузка завершена. Для расширенной диагностики по загрузке изображений создаются более подробные события (например, Чтение изображения, Изменение размера изображения и Запись изображения). Во время этих подробных событий могут происходить другие события низкого уровня (например, Чтение из сокета и Запись в файл).

Следующий пример демонстрирует визуализацию, которая избегает перекрытий:

-------------------------------------------------------------------
   |                         File Upload                        |
 ------------------------------------------------------------------
   |       Image Read          | Image Resize |   Image Write   |
 ------------------------------------------------------------------
   | Socket Read | Socket Read |              |    File Write   |
 -------------------------------------------------------------------
Пример можно достичь, используя следующие категории:
Название события Аннотация
Загрузка файла @Category("Upload")
Чтение изображения @Category({"Upload", "Image Upload"})
Изменение размера изображения @Category({"Upload", "Image Upload"})
Запись изображения @Category({"Upload", "Image Upload"})
Чтение из сокета @Category("Java Application")
Запись в файл @Category("Java Application")

События Загрузка файла, Чтение изображения и Чтение из сокета происходят одновременно (в одной и той же нити), но события находятся в разных категориях, поэтому они не перекрываются в визуализации.

Следующий пример показывает, как категория используется для определения способа визуализации событий в дереве:

|- Java Application
  |  |- Socket Read
  |  |- File Write
  |- Upload
     |- File Upload
     |- Image Upload
        |- Image Read
        |- Image Resize
        |- File Write
С момента:
9

Необходимые элементы

Модификатор и тип Необходимый элемент Описание
String[] value

Возвращает имена категорий для этой аннотации, начиная с корня.

Элементы

value

String[] value

Возвращает имена категорий для этой аннотации, начиная с корня.

Возвращает:
имена категорий

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.jfr/jdk/jfr/Category.html

Spec-Zone .ru
спецификации, руководства, описания, API