Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
perxis-proto
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
perxis
perxis-proto
Commits
b3370a43
Commit
b3370a43
authored
1 year ago
by
Pavel Antonov
Browse files
Options
Downloads
Patches
Plain Diff
Update
parent
ccf33e30
No related branches found
No related tags found
1 merge request
!30
Добавлено описание протокола сервиса логирования
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
proto/log/log.proto
+47
-54
47 additions, 54 deletions
proto/log/log.proto
with
47 additions
and
54 deletions
proto/log/log.proto
+
47
−
54
View file @
b3370a43
...
@@ -22,46 +22,24 @@ enum LogLevel {
...
@@ -22,46 +22,24 @@ enum LogLevel {
FATAL
=
4
;
FATAL
=
4
;
}
}
// Caller представляет собой сообщение, которое содержит информацию о вызывающем объекте.
// Каждый вызывающий объект может быть в одном из трех состояний: user, client, service.
message
Caller
{
oneof
caller
{
string
user
=
1
;
// user отображает учетную запись пользователя, инициировавшего действие.
string
client
=
2
;
// client отображает учетную запись клиента, инициировавшего действие.
string
service
=
3
;
// service отображает службу, инициировавшую действие.
}
}
// LogEntry представляет собой структуру данных для хранения информации о журнале.
// LogEntry представляет собой структуру данных для хранения информации о журнале.
message
LogEntry
{
message
LogEntry
{
// id является уникальным идентификатором каждой записи в журнале.
// id является уникальным идентификатором каждой записи в журнале.
string
id
=
1
;
string
id
=
1
;
// action описывает действие, которое было произведено. Это поле может принимать разные значения в зависимости от сервиса.
// Примеры:
// - item.create
// - item.update
// - organization.create
// - action.run
// - reference.create
string
action
=
11
;
// timestamp указывает на временную метку, указывающую когда было создано данное сообщение.
// timestamp указывает на временную метку, указывающую когда было создано данное сообщение.
google.protobuf.Timestamp
timestamp
=
2
;
google.protobuf.Timestamp
timestamp
=
2
;
// level это поле, обозначающее уровень приоритета сообщения в логе.
// level это поле, обозначающее уровень приоритета сообщения в логе.
LogLevel
level
=
3
;
LogLevel
level
=
3
;
// message это основное сообщение, которое требуется записать в лог.
// message это основное сообщение, которое требуется записать в лог.
string
message
=
4
;
string
message
=
4
;
// category указывает на категорию события.
// category указывает на категорию события.
// Примеры:
// Примеры:
// -
// -
string
category
=
5
;
string
category
=
5
;
// component обозначает компонент системы, где произошло данное событие.
// component обозначает компонент системы, где произошло данное событие.
// Примеры:
// Примеры:
// - Items.Service
// - Items.Service
...
@@ -70,40 +48,55 @@ message LogEntry {
...
@@ -70,40 +48,55 @@ message LogEntry {
// - Users.API
// - Users.API
// - Janitor.Service
// - Janitor.Service
// - Tasks.Worker
// - Tasks.Worker
string
component
=
6
;
// organization обозначает организацию, с которой связано данное событие.
// В случае если событие не связано с организацией, то данное поле должно быть пустым.
// В случае если событие связано с организацией, то данное поле должно содержать идентификатор организации который
// проставляется системой логирования автоматически.
string
organization
=
7
;
// space обозначает пространство, которому принадлежит данное событие.
// В случае если событие не связано с пространством, то данное поле должно быть пустым.
string
space
=
8
;
// env обозначает среду в которой произошло данный процесс.
// В случае если событие не связано с средой, то данное поле должно быть пустым.
// По умолчанию среда равна master. При этом в лог записывается идентификатор среды соответсвующий master.
string
env
=
9
;
// collection обозначает коллекцию в которой произошло событие.
// В случае если событие не связано с коллекцией, то данное поле должно быть пустым.
string
collection
=
10
;
// object_type обозначает тип объекта с которым связано событие.
string
component
=
6
;
string
object_type
=
16
;
// action описывает действие, которое было произведено. Это поле может принимать разные значения в зависимости от сервиса.
// Примеры:
// object_id это идентификатор объекта связанного с событием
// - item.create
string
object_id
=
17
;
// - item.update
// - organization.create
// caller содержит информацию о сущности вызвавшей событие
// - action.run
Caller
caller
=
13
;
// - reference.create
string
event
=
7
;
// object это идентификатор объекта связанного с событием
// Идентификатор объекта должен быть в формате GlobalID:
// <контекст>/<тип объекта>/<идентификатор объекта>
// где:
// - <контекст> - представляет собой иднетификатор родительского объекта, если таковой имеется
// - <тип объекта> - представляет собой тип объекта, например:
// spaces, envs, cols, items, revs, fields, clients, roles, orgs, users
// - <идентификатор объекта> - представляет собой идентификатор объекта
//
// Примеры:
// /spaces/<space_id> - пространство
// /spaces/<space_id>/envs/<env_id> - окружение
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id> - коллекция
// /spaces/<space_id>/cols/<collection_id> - коллекция в окружении "master"
// /spaces/<space_id>/envs/<env_id>/schema/<collection_id> - схема коллекции
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id>/items/<item_id> - элемент коллекции
// /spaces/<space_id>/cols/<collection_id>/items/<item_id> - элемент коллекции в окружении "master"
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id>/items/<item_id>/fields/<field_name> - поле элемента коллекции
// /spaces/<space_id>/envs/<env_id>/cols/<collection_id>/items/<item_id>/revs/<rev_id> - ревизия элемента коллекции
// /spaces/<space_id>/clients/<client_id> - клиент
// /spaces/<space_id>/roles/<role_id> - роль
// /orgs/<org_id> - организация
// /users/<user_id> - пользователь
// /services/<service_id> - сервис
string
object
=
8
;
// caller содержит идентификатор сущности вызвавшей событиe, аналогично полю object
//
// Примеры:
// /users/<user_id> - пользователь
// /spaces/<space_id>/clients/<client_id> - клиент
// /services/<service_id> - сервис
string
caller
=
9
;
// attr содержит дополнительные связанные с событием атрибуты в формате Any
// attr содержит дополнительные связанные с событием атрибуты в формате Any
// позволяет добавить дополнительные данные в событие
// позволяет добавить дополнительные данные в событие
google.protobuf.Any
attr
=
1
4
;
google.protobuf.Any
attr
=
1
0
;
// tags содержит теги связанные с событием, на усмотрение сервиса
// tags содержит теги связанные с событием, на усмотрение сервиса
repeated
string
tags
=
1
5
;
repeated
string
tags
=
1
1
;
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment