Opened 17 years ago

Last modified 12 years ago

#21 new enhancement

log failures better: add caller stack

Reported by: Brian Warner Owned by:
Priority: major Milestone: eventually
Component: logging Version: 0.1.6
Keywords: Cc:

Description

When a method fails, we can log some information about it (if that option is turned on in the Tub). The information logged looks like this:

2007/09/08 19:10 -0700 [Negotiation,client] an outbound callRemote (that we sent to someone else) failed on the far end
2007/09/08 19:10 -0700 [Negotiation,client]  reqID=858, rref=<RemoteReference at 0x48b37174 [pb://onxnl2fpfqruabaku26fa4t5543vj3at@207.7.153.181:36611,127.0.0.1:36611/vdrive]>, methname=get

and includes the remote stack trace.

This information is missing the following useful pieces:

  • the RemoteInterface? in use: that methname=get is hard to use without knowing exactly which "get" method we're talking about
  • the stack trace (or at least the top-most frame) of the callRemote(), so we can find out why we were sending this message

Change History (8)

comment:1 Changed 17 years ago by Brian Warner

Version: 0.1.50.1.6

comment:2 Changed 17 years ago by Brian Warner

Component: unknownlogging

comment:3 Changed 16 years ago by Brian Warner

it looks like the interface name should be included in that log message in [cc600fb8f9b525101bd82231f846d8dda7244739], which was released in foolscap-0.1.7 .

So the only remaining piece is the stack trace (or a few frames of it) that led up the the callRemote().

comment:4 Changed 16 years ago by Brian Warner

Milestone: undecided0.3.0

comment:5 Changed 16 years ago by Brian Warner

Milestone: 0.3.10.3.2

first task is to measure how long it takes to capture a short stack frame. If it's less than a millisecond I'm ok with adding it to callRemote.

comment:6 Changed 16 years ago by Brian Warner

Milestone: 0.3.30.4.0
Summary: log failures betterlog failures better: add caller stack

comment:7 Changed 15 years ago by Brian Warner

Milestone: 0.5.0eventually

comment:8 Changed 12 years ago by davidsarah

I would find this useful.

Note: See TracTickets for help on using tickets.