XRebel: Commoditising the profile market
ZeroTurnaround CEO Jevgeni Kabanov give JAXenter the full story on nifty new tool XRebel, the always-on interactive Java profiler.
XRebel, an innovative new
“always-on” interactive Java profiler was officially promoted by
creators ZeroTurnaround to GA status yesterday. In this interview,
CEO Jevgeni Kabanov explains how the new tool promises to upturn
the profiler market as we know it, and why making things ‘simple’
is a paradoxical process.
JAX: What makes Xrebel different to other
profilers out there?
Kabanov: There are several
differences. I really think of it as the first bird in the new
generation of profilers. Today, profilers are highly specialised
tools, meant to be used by experts. Typically in a team, one person
in ten will have a licence, and he will be responsible for
basically doing profiling sessions from time to time and usually
when there’s a report from production or there’s an issue or
sometimes if they can see with their naked eyes that something is
terribly flawed – they’ll do profiling session. They’ll go through
a mountain of data, find the root cause, identify and implement the
solution. This is how it is today.
The difference in XRebel is that, in this case,
everyone on the team is running it. It runs all the time in the
background, so there’s no dedicated session. There’s no expert
requirement. If you have a performance issue – which you might not
even notice because it’s not necessarily enough to cause a slowdown
in development, though it might cause a slowdown or inefficiency in
production, then it will notify you about that slowdown or
performance issue. It will expose the metrics as you’re coding, as
you’re testing your changes, and if you click on it, it will allow
you right away to drill down to root cause, and you can fix it
there and then.
So this is why we consider that it’s a new kind
of profiler, because it takes the tool to a completely different
level, where everyone can use it, and where, instead of being
dedicated sessions, it just runs all the time. But you only
interact if you have an actual problem. You can say that we’re
commoditising the profiler market. We’re taking it to everyone,
taking a specialised tool, and giving it to everyone to
What was the development process like
for this tool?
We use Agile internally, but for me, the more
important part of development was not so much the engineering
process, but the product management – you know, the product
development process. Here, we apply a variation of goal directed
design with the lean methodology, where we analyse the market, and
then create feedback so that we can increase the process as we go
along. We have two phases of product data: we have many prospects
from early prototypes and gathering feedback from early days – and
then behind that the team is iterating on the versions so that we
can improve them quickly. And that was kind of the process. So I’d
say that Agile is a small part of it, it’s the whole process. Not
just the development part of it.
So this made everything pretty
Well, every product development is quite
turbulent. You always have a lot of disagreements in the team,
because your information about the market and what people want
isn’t perfect, so you have to actually have conflict – and that’s
where truth is born. There were a lot of disagreements, there was
definitely a lot of tension between the product team and the
engineering team. Not in a bad way -
…Conflict is a pretty healthy thing in the
creative process, I guess…
Yeah – I don’t mean it in a bad way! But there
was a lot of friction, like we removed a lot of features for
example, and engineers aren’t terribly happy about removing
features. But in the end, I think all of them understood. In
hindsight, everyone agrees that this was the right thing to do, but
you know, at that time, it was sometimes difficult.
Looking to the future for XRebel, can we see a
lot of these initially discarded features appearing down the
Yes, my good friend Cameron Purdy has a good
expression: Whenever you release a product, you never look back.
It’s just the beta. The next thing, that’s always going to be the
big thing. The next version. So we have grand plans. I think we
established the concept, and now we really need to flesh it out and
figure out how to bring XRebel to this next level.
Most of the next steps are pretty obvious. We
want to support NoSQL databases – specifically MongoDB and maybe
Cassandra – and web services. Right now, we’re supporting SQL user
sessions and exceptions. Quite natural expansions. There are other
things in the works which are more interesting, but those I can’t
Personally, what’s you’re favorite aspect of
interacting with XRebel?
I’m just incredibly proud of how easy it is to
install. It literally takes minutes, which is an amazing
achievement, because there are many ways we could have messed it
up! And generally, I think the biggest feature is just the
simplicity, and how everything works as it should. Everything
displays the right amount of information at the right moments – and
this is my favorite thing about it. It’s very easy to put together
something which looks complex, but it’s really hard to build
something that appears to look and behave like it’s really simple.
Hiding all that complexity, and there is a lot of
underlying complexity, is what I’m most proud of.