Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 4.58 KB

README.md

File metadata and controls

44 lines (34 loc) · 4.58 KB

HTTP роутинг.

Компонент построен на пакете https://github.com/go-chi/chi, реализует интерфейс github.com/go-chi/chi/v5/Router, который доступен в контейнере объектов.

Объект конфигурации.

type Config struct {
	UseProfile          bool
	HealthCheckEndpoint string
	MetricsEndpoint     string
	PprofEndpoint       string
}

Описание полей:

Поле Описание Значение по умолчанию
HealthCheckEndpoint Конечная точка для проверки работоспособности приложения, этот параметр может быть передан одним из 3-х методов:
- флаг командной строки --server.http.routes.health_check
- переменная окружения SERVER_HTTP_ROUTES_HEALTH_CHECK
- значение в конфиг файле server.http.routes.health_check
/health-check
MetricsEndpoint Конечная точка для получения метрик, этот параметр может быть передан одним из 3-х методов:
- флаг командной строки --server.http.routes.metrics
- переменная окружения SERVER_HTTP_ROUTES_METRICS
- значение в конфиг файле server.http.routes.metrics
/metrics
PprofEndpoint Конечная точка для доступа к гошному pprof, этот параметр может быть передан одним из 3-х методов:
- флаг командной строки --server.http.routes.pprof
- переменная окружения SERVER_HTTP_ROUTES_PPROF
- значение в конфиг файле server.http.routes.pprof
/debug
UseProfile Если "true", в роутинг будет добавлен путь к гошному pprof из параметра PprofEndpoint, этот параметр может быть передан одним из 3-х методов:
- флаг командной строки --trace.pprof
- переменная окружения TRACE_PPROF
- значение в конфиг файле trace.pprof
false

Компонент предоставляет ряд middleware в подпакете middleware:

  • TotalRequestCount - добавляет метрику по общему кол. запросов;
  • DurationMetric - добавляет метрику по времени выполнения запроса;
  • NewParam - помещает параметр из запроса, в контекст, для дальнейшего использования, более подробно middleware.

Дополнительные компоненты.

Метрики.

Метрики добавляются автоматически при добавлении middleware.

go_http_server_requests_total - общее кол. запросов. Доступные лейблы в метрике:

  • app - имя приложения;
  • endpoint - конечная точка (путь) запроса;
  • code - код ответа на запрос.

go_http_server_duration_seconds - время выполнения запроса. Доступные лейблы в метрике:

  • app - имя приложения;
  • endpoint - конечная точка (путь) запроса.