mirror of
https://github.com/pomerium/pomerium.git
synced 2025-06-04 20:03:18 +02:00
telemetry: add tracing spans to cache and databroker (#987)
This commit is contained in:
parent
4ca0189524
commit
eaa0c980d2
5 changed files with 40 additions and 1 deletions
|
@ -86,6 +86,8 @@ func (a *Authorize) Check(ctx context.Context, in *envoy_service_auth_v2.CheckRe
|
|||
}
|
||||
|
||||
func (a *Authorize) forceSync(ctx context.Context, sessionID string) {
|
||||
ctx, span := trace.StartSpan(ctx, "authorize.forceSync")
|
||||
defer span.End()
|
||||
s := a.forceSyncSession(ctx, sessionID)
|
||||
if s == nil {
|
||||
return
|
||||
|
@ -94,6 +96,9 @@ func (a *Authorize) forceSync(ctx context.Context, sessionID string) {
|
|||
}
|
||||
|
||||
func (a *Authorize) forceSyncSession(ctx context.Context, sessionID string) *session.Session {
|
||||
ctx, span := trace.StartSpan(ctx, "authorize.forceSyncSession")
|
||||
defer span.End()
|
||||
|
||||
a.dataBrokerDataLock.RLock()
|
||||
s, ok := a.dataBrokerData.Get(sessionTypeURL, sessionID).(*session.Session)
|
||||
a.dataBrokerDataLock.RUnlock()
|
||||
|
@ -121,6 +126,9 @@ func (a *Authorize) forceSyncSession(ctx context.Context, sessionID string) *ses
|
|||
}
|
||||
|
||||
func (a *Authorize) forceSyncUser(ctx context.Context, userID string) *user.User {
|
||||
ctx, span := trace.StartSpan(ctx, "authorize.forceSyncUser")
|
||||
defer span.End()
|
||||
|
||||
a.dataBrokerDataLock.RLock()
|
||||
s, ok := a.dataBrokerData.Get(userTypeURL, userID).(*user.User)
|
||||
a.dataBrokerDataLock.RUnlock()
|
||||
|
|
|
@ -5,6 +5,8 @@ import (
|
|||
"io"
|
||||
"time"
|
||||
|
||||
"github.com/pomerium/pomerium/internal/telemetry/trace"
|
||||
|
||||
backoff "github.com/cenkalti/backoff/v4"
|
||||
"golang.org/x/sync/errgroup"
|
||||
"google.golang.org/protobuf/types/known/emptypb"
|
||||
|
@ -37,6 +39,8 @@ func (a *Authorize) Run(ctx context.Context) error {
|
|||
func (a *Authorize) runTypesSyncer(ctx context.Context, updateTypes chan<- []string) error {
|
||||
log.Info().Msg("starting type sync")
|
||||
return tryForever(ctx, func(backoff interface{ Reset() }) error {
|
||||
ctx, span := trace.StartSpan(ctx, "authorize.dataBrokerClient.Sync")
|
||||
defer span.End()
|
||||
stream, err := a.dataBrokerClient.SyncTypes(ctx, new(emptypb.Empty))
|
||||
if err != nil {
|
||||
return err
|
||||
|
@ -89,6 +93,7 @@ func (a *Authorize) runDataTypeSyncer(ctx context.Context, typeURL string, updat
|
|||
var serverVersion, recordVersion string
|
||||
|
||||
log.Info().Str("type_url", typeURL).Msg("starting data initial load")
|
||||
ctx, span := trace.StartSpan(ctx, "authorize.dataBrokerClient.GetAll")
|
||||
backoff := backoff.NewExponentialBackOff()
|
||||
for {
|
||||
res, err := a.dataBrokerClient.GetAll(ctx, &databroker.GetAllRequest{
|
||||
|
@ -122,9 +127,12 @@ func (a *Authorize) runDataTypeSyncer(ctx context.Context, typeURL string, updat
|
|||
|
||||
break
|
||||
}
|
||||
span.End()
|
||||
|
||||
log.Info().Str("type_url", typeURL).Msg("starting data syncer")
|
||||
return tryForever(ctx, func(backoff interface{ Reset() }) error {
|
||||
ctx, span := trace.StartSpan(ctx, "authorize.dataBrokerClient.Sync")
|
||||
defer span.End()
|
||||
stream, err := a.dataBrokerClient.Sync(ctx, &databroker.SyncRequest{
|
||||
ServerVersion: serverVersion,
|
||||
RecordVersion: recordVersion,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue