Skip to content

Commit 9647327

Browse files
authored
Merge pull request #2353 from digma-ai/register-centralized-logout-event
register-centralized-logout-event
2 parents 3f051ef + ee7ce35 commit 9647327

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

ide-common/src/main/kotlin/org/digma/intellij/plugin/auth/account/LoginHandler.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import org.digma.intellij.plugin.analytics.ReplacingClientException
77
import org.digma.intellij.plugin.analytics.RestAnalyticsProvider
88
import org.digma.intellij.plugin.auth.NoOpLoginHandler
99
import org.digma.intellij.plugin.auth.credentials.DigmaCredentials
10+
import org.digma.intellij.plugin.common.ExceptionUtils
1011
import org.digma.intellij.plugin.common.findActiveProject
1112
import org.digma.intellij.plugin.errorreporting.ErrorReporter
1213
import org.digma.intellij.plugin.log.Log
@@ -84,6 +85,8 @@ interface LoginHandler {
8485
return try {
8586
trace("logout called")
8687

88+
reportPosthogEvent("logout")
89+
8790
val digmaAccount = DigmaDefaultAccountHolder.getInstance().account
8891

8992
trace("logout: found account {}", digmaAccount)
@@ -96,20 +99,26 @@ interface LoginHandler {
9699
trace("logout: account deleted {} ", digmaAccount)
97100
}
98101

102+
reportPosthogEvent("logout success")
99103
//return true only if an account was really deleted
100104
digmaAccount != null
101105

102106
} catch (e: Throwable) {
103107
warnWithException(e, "Exception in logout {}", e)
104108
ErrorReporter.getInstance().reportError("${javaClass.simpleName}.logout", e)
109+
val errorMessage = ExceptionUtils.getNonEmptyMessage(e)
110+
reportPosthogEvent("logout failed", mapOf("error" to errorMessage))
105111
false
106112
}
107113
}
108114

109115

110116
fun reportPosthogEvent(evenName: String, details: Map<String, String> = mapOf()) {
111117
findActiveProject()?.let { project ->
112-
ActivityMonitor.getInstance(project).registerCustomEvent(evenName, details)
118+
val detailsToSend = details.toMutableMap()
119+
detailsToSend["handler"] = this.javaClass.simpleName
120+
detailsToSend["auth"] = "true" //a property for filtering auth events ,filter auth isSet
121+
ActivityMonitor.getInstance(project).registerAuthEvent(evenName, detailsToSend)
113122
}
114123
}
115124

ide-common/src/main/kotlin/org/digma/intellij/plugin/posthog/ActivityMonitor.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,4 +1001,8 @@ class ActivityMonitor(private val project: Project, cs: CoroutineScope) : Dispos
10011001
capture("SchedulerSizeIncreased", details)
10021002
}
10031003

1004+
fun registerAuthEvent(action: String, details: Map<String, Any>) {
1005+
capture(action, details)
1006+
}
1007+
10041008
}

0 commit comments

Comments
 (0)