소스 검색

add transport type to metrics

Brian Gough 5 년 전
부모
커밋
9622b341b7
2개의 변경된 파일과 10개의 추가작업 그리고 8개의 파일을 삭제
  1. 2 2
      services/real-time/app/js/Router.js
  2. 8 6
      services/real-time/app/js/WebsocketController.js

+ 2 - 2
services/real-time/app/js/Router.js

@@ -153,7 +153,7 @@ module.exports = Router = {
       client.publicId = 'P.' + base64id.generateId()
       client.emit('connectionAccepted', null, client.publicId)
 
-      metrics.inc('socket-io.connection')
+      metrics.inc('socket-io.connection', 1, { status: client.transport })
       metrics.gauge('socket-io.clients', io.sockets.clients().length)
 
       logger.log({ session, client_id: client.id }, 'client connected')
@@ -211,7 +211,7 @@ module.exports = Router = {
       })
 
       client.on('disconnect', function () {
-        metrics.inc('socket-io.disconnect')
+        metrics.inc('socket-io.disconnect', 1, { status: client.transport })
         metrics.gauge('socket-io.clients', io.sockets.clients().length)
 
         WebsocketController.leaveProject(io, client, function (err) {

+ 8 - 6
services/real-time/app/js/WebsocketController.js

@@ -36,7 +36,7 @@ module.exports = WebsocketController = {
       { user_id, project_id, client_id: client.id },
       'user joining project'
     )
-    metrics.inc('editor.join-project')
+    metrics.inc('editor.join-project', 1, { status: client.transport })
     WebApiManager.joinProject(project_id, user, function (
       error,
       project,
@@ -114,7 +114,7 @@ module.exports = WebsocketController = {
       return callback()
     } // client did not join project
 
-    metrics.inc('editor.leave-project')
+    metrics.inc('editor.leave-project', 1, { status: client.transport })
     logger.log(
       { project_id, user_id, client_id: client.id },
       'client leaving project'
@@ -167,7 +167,7 @@ module.exports = WebsocketController = {
     }
 
     const joinLeaveEpoch = ++client.joinLeaveEpoch
-    metrics.inc('editor.join-doc')
+    metrics.inc('editor.join-doc', 1, { status: client.transport })
     const { project_id, user_id, is_restricted_user } = client.ol_context
     if (!project_id) {
       return callback(new NotJoinedError())
@@ -319,7 +319,7 @@ module.exports = WebsocketController = {
   leaveDoc(client, doc_id, callback) {
     // client may have disconnected, but we have to cleanup internal state.
     client.joinLeaveEpoch++
-    metrics.inc('editor.leave-doc')
+    metrics.inc('editor.leave-doc', 1, { status: client.transport })
     const { project_id, user_id } = client.ol_context
     logger.log(
       { user_id, project_id, doc_id, client_id: client.id },
@@ -338,7 +338,9 @@ module.exports = WebsocketController = {
       return callback()
     }
 
-    metrics.inc('editor.update-client-position', 0.1)
+    metrics.inc('editor.update-client-position', 0.1, {
+      status: client.transport
+    })
     const {
       project_id,
       first_name,
@@ -475,7 +477,7 @@ module.exports = WebsocketController = {
         }
         update.meta.source = client.publicId
         update.meta.user_id = user_id
-        metrics.inc('editor.doc-update', 0.3)
+        metrics.inc('editor.doc-update', 0.3, { status: client.transport })
 
         logger.log(
           {