я генерирую уникальный request id по которому потом могу в cloudWatch найти цепочку вызовов. Также, меня интересует как перебросить этот параметр наряду с параметром timestamp, latency и прочей полезной информацией которая пригодится для дебагинга на клиент.
Вот такая структура:
type AuditResponse struct {
// Unique ID of operation in form of UUID.
RequestID string `json:"requestId"`
// Timestamp when request has been captured.
Timestamp string `json:"timestamp"`
// Type of environment: staging/canary/production/local.
Environment string `json:"environment"`
// Latency indicates how much time server takes to process this request.
Latency time.Duration `json:"latency"`
}
Есть вариант это сделать 2 способами:
1. Вынести в качестве audit поля на клиент в JSON body.
2. Вынести эту информацию в заголовки
Возможно есть альтернативные решения?
а точно RequestID только для аудита и в логике не будет участвовать? Если будет, то его нахождение в структуре Audit неверно семантически
Только для аудита
Обсуждают сегодня