Browse Source

Include establishment duration in connected event

- establishment_duration in "connected" is the
  same data and has the same meaning as the
  field in "session".

- Enables retirement of "session" event logs.
Rod Hynes 8 years ago
parent
commit
8e05cc6aef
2 changed files with 6 additions and 1 deletions
  1. 2 1
      psiphon/server/api.go
  2. 4 0
      psiphon/serverApi.go

+ 2 - 1
psiphon/server/api.go

@@ -266,7 +266,8 @@ func handshakeAPIRequestHandler(
 var connectedRequestParams = append(
 	[]requestParamSpec{
 		{"session_id", isHexDigits, 0},
-		{"last_connected", isLastConnected, 0}},
+		{"last_connected", isLastConnected, 0},
+		{"establishment_duration", isIntString, requestParamOptional}},
 	baseRequestParams...)
 
 // connectedAPIRequestHandler implements the "connected" API request.

+ 4 - 0
psiphon/serverApi.go

@@ -254,6 +254,10 @@ func (serverContext *ServerContext) DoConnectedRequest() error {
 
 	params["last_connected"] = lastConnected
 
+	// serverContext.tunnel.establishDuration is nanoseconds; divide to get to milliseconds
+	params["establishment_duration"] =
+		fmt.Sprintf("%d", serverContext.tunnel.establishDuration/1000000)
+
 	var response []byte
 	if serverContext.psiphonHttpsClient == nil {