Spec-Zone.ru › OpenJDK 25

Интерфейс аннотации Category

@Target(TYPE) @Inherited @Retention(RUNTIME) public @interface Category
Аннотация события, связывающая тип события с категорией в формате понятного человеку пути.

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

Например, для отслеживания загрузки изображений на веб-сервер, где для каждой загрузки используется отдельный поток, событие File Upload начинается, когда пользователь загружает файл, и заканчивается после завершения загрузки. Для расширенной диагностики загрузки изображений создаются более подробные события (например, Image Read, Image Resize и Image Write). Во время этих подробных событий могут происходить другие низкоуровневые события (например, Socket Read и File Write).

На следующей визуализации показаны перекрывающиеся события, относящиеся к одному потоку. Если распределить события по разным категориям, их можно визуально разделить и расположить вертикально друг над другом.

13:00:01                                                     13:00:05
---------------------------------------------------------------------
 1   |                         File Upload                        |
---------------------------------------------------------------------
 2   |       Image Read          | Image Resize |   Image Write   |
---------------------------------------------------------------------
 3   | Socket Read | Socket Read |              |    File Write   |
---------------------------------------------------------------------
Этого можно добиться, используя следующие категории:
Категории и дорожки
Дорожка Имя события Аннотация
1 Загрузка файла @Category("Upload")
2 Чтение изображения @Category({"Upload", "Image Upload"})
2 Изменение размера изображения @Category({"Upload", "Image Upload"})
2 Запись изображения @Category({"Upload", "Image Upload"})
3 Чтение из сокета @Category("Java Application")
3 Запись файла @Category("Java Application")

События File Upload, Image Read и Socket Read происходят одновременно (в одном потоке), но относятся к разным категориям и поэтому не перекрываются на визуализации.

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

 |-[Java Application]
 |  |- Socket Read
 |  |- File Write
 |-[Upload]
    |- File Upload
    |-[Image Upload]
       |- Image Read
       |- Image Resize
       |- File Write
Начиная с:
9

Краткое описание обязательных элементов

Модификатор и тип Обязательный элемент Описание
String[] value
Возвращает имена категорий для этой аннотации, начиная с корневой.

Подробное описание элементов

value

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/jdk.jfr/jdk/jfr/Category.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API