CEPH filesystem development
 help / color / mirror / Atom feed
From: Andrew Shewmaker <agshew@gmail.com>
To: Sage Weil <sage@newdream.net>
Cc: ceph-devel@vger.kernel.org
Subject: Re: [PATCH 0/6] blkin (LTTng + Zipkin) tracing
Date: Thu, 13 Nov 2014 10:56:21 -0700	[thread overview]
Message-ID: <20141113175621.GA14141@localhost> (raw)
In-Reply-To: <alpine.DEB.2.00.1411122125070.24889@cobra.newdream.net>

On Thu, Nov 13, 2014 at 08:14:48AM -0800, Sage Weil wrote:
> On Wed, 12 Nov 2014, Andrew Shewmaker wrote:
<snip>
> > In general, Blkin implements the tracing semantics described in the Dapper
> > paper http://static.googleusercontent.com/media/research.google.com/el/pubs/archive/36356.pdf
> > in order to trace the causal relationships between the different
> > processing phases that an IO request may trigger. The goal is an end-to-end
> > visualisation of the request's route in the system, accompanied by information
> > concerning latencies in each processing phase. Thanks to LTTng this can happen
> > with a minimal overhead and in realtime. In order to visualize the results Blkin 
> > was integrated with Twitter's Zipkin http://twitter.github.io/zipkin/
> > (which is a tracing system entirely based on Dapper).
> > 
> > These patches can also be found in https://github.com/agshew/ceph/tree/wip-blkin
> 
> This looks great!  Do you mind opening a github pull request from that 
> branch?  It's a bit more convenient for capturing review.

I'll do that, but first I need to make changes to autoconf/automake
for blkin. It isn't actually building.

I had been going down the road of treating it simply 
as a separate package from ceph, then decided to include it as a 
submodule. My branch only built on my system because I had already
installed blkin separately.

<snip>
> > In the immediate future I plan to:
> > 
> >  - push a wip-blkin branch to github.com/ceph and take advantage of gitbuilder test/qa
> >  - move the changes forward to ceph:master
> >  - add Andreas' tracepoints https://github.com/ceph/ceph/pull/2877 using Blkin
> >    and investigate how easy it is to select the level of tracing detail
> > 
> > Questions:
> > 
> > 1. Did I split the patches into sensible groups?
> 
> 1 could be broken into the build changes and the msg/optracker code.  It 
> looks like it unconditionally links against zipkin-cpp now, which we 
> probably don't want.  Unless blkin is statically linked or something, but 
> I don't see anything in the patch that would do that yet.  In any case, 
> having the build stuff in a separate patch helps.

Right. Makes sense. I'll split that out for version 2.

 
> The split for the rest looks fine.  Need to look at the changes to osd 
> init carefully as it is a bit delicate.
> 
> > 2. How low is LTTng's overhead? Is it entirely eliminated when not enabled?
> > 
> > Do we need to take advantage of something like the Linux kernel's CONFIG_DYNAMIC_FTRACE
> > trick, where a special mcount() function is converted back and forth between 
> > a NOP and trace calls? See http://lwn.net/Articles/365835/ for a little more 
> > detail.
> 
> I always assumed that lttng was doing something like this, but I don't see 
> a clear explanation of what an inactive tracepoint looks like anywhere..

Yeah, I suppose they must, but I couldn't find a nice short
explanation either. LWN has a couple of articles that don't go deeply
into it. At most, they mention the use of asm gotos
(http://lwn.net/Articles/491543/).

      reply	other threads:[~2014-11-13 17:56 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-12 23:19 [PATCH 0/6] blkin (LTTng + Zipkin) tracing Andrew Shewmaker
2014-11-13 16:14 ` Sage Weil
2014-11-13 17:56   ` Andrew Shewmaker [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141113175621.GA14141@localhost \
    --to=agshew@gmail.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=sage@newdream.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox