Dies zu tun, nur basierend auf dem Text der Spur wird schwer sein. Ich empfehle, benutzerdefinierte Eigenschaften zu verwenden, um dies zu unterstützen.
Bei weitem die einfachste Möglichkeit ist, einige zusätzliche Eigenschaften zusammen mit dem getrennten Ereignis zu senden, die alle erforderlichen Informationen enthalten. Wie:
// Start of session
var tt = new TraceTelemetry("D1 connected");
tt.Properties.Add("Event", "SessionStart");
telemetryClient.TrackTrace(tt);
var startTime = DateTime.Now;
// Do your thing
....
tt = new TraceTelemetry("D1 disconnected");
tt.Properties.Add("Event", "SessionEnd");
tt.Properties.Add("SessionLength", (startTime - DateTime.Now).TotalMilliseconds.ToString());
telemetryClient.TrackTrace(tt);
Benutzerdefinierte Eigenschaften werden im customDimensions
Feld eines Ereignisses gespeichert.
Jetzt in AI Analytics können Sie diese Werte wie folgt abfragen:
Count:
traces
| where customDimensions.Event == "SessionEnd"
| summarize count()
Session Längen:
traces
| where customDimensions.Event == "SessionEnd"
| project message, customDimensions.Length
Gesamtdauer aller Sitzungen:
traces
| where customDimensions.Event == "SessionEnd"
| extend duration = tolong(customDimensions.SessionLength)
| summarize sum(duration)
ich wou ld schlägt außerdem vor, die Geräte-ID als benutzerdefinierte Eigenschaft für alle ausgegebenen Ereignisse hinzuzufügen. Es wird die Abfrage erleichtern. Sie können dann berechnen min, max und durchschnittliche Sitzungslänge pro Gerät, zum Beispiel:
traces
| where customDimensions.Event == "SessionEnd"
| extend duration = tolong(customDimensions.SessionLength)
| extend device = tostring(customDimensions.DeviceName)
| summarize sum(duration) by device
Wenn Sie die Startereignisse als auch beitreten wollen oder nicht oder wird das nicht tun oben, um die Startereignisse zu verbinden haben mit die Endereignisse, um diese Abfragen durchzuführen. Sie müssen weiterhin einige benutzerdefinierte Eigenschaften verwenden, da das Abfragen von Text allein schwierig ist, da Sie dann den Text analysieren müssen, um zu bestimmen, welches Ereignis und welches Gerät beteiligt ist.
werfen Sie einen Blick auf azure AI QUERY combine start and response to calculate average, um zu sehen, wie Joins in AI Analytics funktionieren.
Erstellen Sie diese Spuren selbst mit der Methode 'TrackTrace' im SDK? Haben Sie benutzerdefinierte Eigenschaften zusammen mit der Ablaufverfolgung gesendet? –
Ja, ich sende sie mir selbst. Würden Sie vorschlagen, beim Senden dieser Werte einen Sitzungswert anzuhängen? – fra
ja, siehe meine Antwort. –