[MM-53195] services/telemetry: regen client config right after assigning diagnostic ID to platform (#23773)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
58a7679daa
Коммит
0904be43f8
@@ -381,6 +381,13 @@ func (ps *PlatformService) ShutdownConfig() error {
|
|||||||
|
|
||||||
func (ps *PlatformService) SetTelemetryId(id string) {
|
func (ps *PlatformService) SetTelemetryId(id string) {
|
||||||
ps.telemetryId = id
|
ps.telemetryId = id
|
||||||
|
|
||||||
|
ps.PostTelemetryIdHook()
|
||||||
|
}
|
||||||
|
|
||||||
|
// PostTelemetryIdHook triggers necessary events to propagate telemtery ID
|
||||||
|
func (ps *PlatformService) PostTelemetryIdHook() {
|
||||||
|
ps.regenerateClientConfig()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ps *PlatformService) SetLogger(logger *mlog.Logger) {
|
func (ps *PlatformService) SetLogger(logger *mlog.Logger) {
|
||||||
|
|||||||
@@ -168,3 +168,19 @@ func TestShutdown(t *testing.T) {
|
|||||||
require.Zero(t, atomic.LoadInt32(&th.Service.goroutineCount))
|
require.Zero(t, atomic.LoadInt32(&th.Service.goroutineCount))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSetTelemetryId(t *testing.T) {
|
||||||
|
t.Run("ensure client config is regenerated after setting the telemetry id", func(t *testing.T) {
|
||||||
|
th := Setup(t)
|
||||||
|
defer th.TearDown()
|
||||||
|
|
||||||
|
clientConfig := th.Service.LimitedClientConfig()
|
||||||
|
require.Empty(t, clientConfig["DiagnosticId"])
|
||||||
|
|
||||||
|
id := model.NewId()
|
||||||
|
th.Service.SetTelemetryId(id)
|
||||||
|
|
||||||
|
clientConfig = th.Service.LimitedClientConfig()
|
||||||
|
require.Equal(t, clientConfig["DiagnosticId"], id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ func (ts *TelemetryService) ensureTelemetryID() error {
|
|||||||
var err error
|
var err error
|
||||||
|
|
||||||
for i := 0; i < DBAccessAttempts; i++ {
|
for i := 0; i < DBAccessAttempts; i++ {
|
||||||
ts.log.Info("Ensuring the telemetry ID", mlog.String("id", id))
|
ts.log.Info("Ensuring the telemetry ID..")
|
||||||
systemID := &model.System{Name: model.SystemTelemetryId, Value: id}
|
systemID := &model.System{Name: model.SystemTelemetryId, Value: id}
|
||||||
systemID, err = ts.dbStore.System().InsertIfExists(systemID)
|
systemID, err = ts.dbStore.System().InsertIfExists(systemID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -156,6 +156,7 @@ func (ts *TelemetryService) ensureTelemetryID() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ts.TelemetryID = systemID.Value
|
ts.TelemetryID = systemID.Value
|
||||||
|
ts.log.Info("telemetry ID is set", mlog.String("id", ts.TelemetryID))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user