mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
clienttelemetry: log peer name to blackbox
Summary: This updates clienttelemetry to log the peer name to the hg blackbox (on every connection). This might make it easier to understand which host a given hg is connecting to even if we can't get to its logs (e.g. in our external sync processes, we are capturing output to match it for errors, so it's not trivial to get the remote hostname even with clienttelemetry.announceremotehostname. It's possible to retrieve the peer name with e.g.: ` hg blackbox --pattern '{"clienttelemetry": "_"}'` Reviewed By: ikostia Differential Revision: D17808834 fbshipit-source-id: 5c8afca6bd8b3bbbf14ec8d8efb3f9b1f6b25986
This commit is contained in:
parent
e8b33179a6
commit
1147c48791
@ -16,7 +16,15 @@ from __future__ import absolute_import
|
||||
import socket
|
||||
import string
|
||||
|
||||
from edenscm.mercurial import dispatch, extensions, hg, perftrace, util, wireproto
|
||||
from edenscm.mercurial import (
|
||||
blackbox,
|
||||
dispatch,
|
||||
extensions,
|
||||
hg,
|
||||
perftrace,
|
||||
util,
|
||||
wireproto,
|
||||
)
|
||||
from edenscm.mercurial.i18n import _
|
||||
|
||||
|
||||
@ -95,6 +103,7 @@ def _peersetup(ui, peer):
|
||||
logargs.update(_clienttelemetrydata)
|
||||
peername = peer._call("clienttelemetry", **logargs)
|
||||
ui.log("clienttelemetry", server_realhostname=peername)
|
||||
blackbox.log({"clienttelemetry": {"peername": peername}})
|
||||
ann = ui.configbool("clienttelemetry", "announceremotehostname", None)
|
||||
if ann is None:
|
||||
ann = not ui.plain() and ui._isatty(ui.ferr)
|
||||
|
@ -107,6 +107,13 @@ pub enum Event {
|
||||
items: BTreeMap<String, String>,
|
||||
},
|
||||
|
||||
/// Client Telemetry Data
|
||||
#[serde(rename = "CT", alias = "clienttelemetry")]
|
||||
ClientTelemetry {
|
||||
#[serde(rename = "P", alias = "peername")]
|
||||
peer_name: String,
|
||||
},
|
||||
|
||||
/// Free-form debug message.
|
||||
#[serde(rename = "D", alias = "debug")]
|
||||
Debug {
|
||||
@ -554,6 +561,9 @@ impl fmt::Display for Event {
|
||||
.join(" ")
|
||||
)?;
|
||||
}
|
||||
ClientTelemetry { peer_name } => {
|
||||
write!(f, "[clienttelemetry] peer name: {}", peer_name)?
|
||||
}
|
||||
Debug { value } => write!(f, "[debug] {}", json_to_string(value))?,
|
||||
Exception { msg } => write!(f, "[command_exception] {}", msg)?,
|
||||
Finish {
|
||||
|
@ -46,3 +46,8 @@ check telemetry
|
||||
command: pull
|
||||
fullcommand: pull --config 'clienttelemetry.announceremotehostname=False'
|
||||
|
||||
check blackbox
|
||||
$ hg blackbox --pattern '{"clienttelemetry": "_"}'
|
||||
* [clienttelemetry] peer name: * (glob)
|
||||
* [clienttelemetry] peer name: * (glob)
|
||||
* [clienttelemetry] peer name: * (glob)
|
||||
|
Loading…
Reference in New Issue
Block a user