cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r965292 - in /websites/production/cxf/content: cache/docs.pageCache docs/using-apache-htrace.html
Date Sun, 13 Sep 2015 14:47:40 GMT
Author: buildbot
Date: Sun Sep 13 14:47:40 2015
New Revision: 965292

Log:
Production update by buildbot for cxf

Modified:
    websites/production/cxf/content/cache/docs.pageCache
    websites/production/cxf/content/docs/using-apache-htrace.html

Modified: websites/production/cxf/content/cache/docs.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/cxf/content/docs/using-apache-htrace.html
==============================================================================
--- websites/production/cxf/content/docs/using-apache-htrace.html (original)
+++ websites/production/cxf/content/docs/using-apache-htrace.html Sun Sep 13 14:47:40 2015
@@ -108,13 +108,13 @@ Apache CXF -- Using Apache HTrace
            <!-- Content -->
            <div class="wiki-content">
 <div id="ConfluenceContent"><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1442090818073 {padding: 0px;}
-div.rbtoc1442090818073 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1442090818073 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1442155617037 {padding: 0px;}
+div.rbtoc1442155617037 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1442155617037 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1442090818073">
+/*]]>*/</style></p><div class="toc-macro rbtoc1442155617037">
 <ul class="toc-indentation"><li><a shape="rect" href="#UsingApacheHTrace-Overview">Overview</a></li><li><a
shape="rect" href="#UsingApacheHTrace-DistributedTracinginNutshell">Distributed Tracing
in Nutshell</a></li><li><a shape="rect" href="#UsingApacheHTrace-DistributedTracinginApacheCXF">Distributed
Tracing in Apache CXF</a></li></ul>
-</div><h1 id="UsingApacheHTrace-Overview">Overview</h1><p><a shape="rect"
class="external-link" href="http://htrace.incubator.apache.org/index.html">Apache HTrace</a>
is a tracing framework intended for use with distributed systems written in java. Since version
<strong>3.1.3</strong>, Apache CXF fully supports integration with <a shape="rect"
class="external-link" href="http://htrace.incubator.apache.org/index.html">Apache HTrace</a>,
both on client side and server side. This section gives a complete overview on how distributed
tracing support is supported in JAX-RS applications built on top of Apache CXF.</p><h1
id="UsingApacheHTrace-DistributedTracinginNutshell">Distributed Tracing in Nutshell</h1><p>Distributed
tracing, first described by Google in <a shape="rect" class="external-link" href="http://research.google.com/pubs/pub36356.html"
rel="nofollow">Dapper, a Large-Scale Distributed Systems Tracing Infrastructure</a>
paper became increasingly important topic these days. With 
 microservices (aka SOA) gaining more and more adoption, the typical applications are built
using dozens or even hundreds of small, distributed pieces. The end-to-end traceability of
the requests (or any kind of work performed on user's behalf) is hard task to accomplish,
particularly taking into account asyncronous or/and concurrent invocations. <a shape="rect"
class="external-link" href="http://htrace.incubator.apache.org/index.html">Apache HTrace</a>
is inspired by <a shape="rect" class="external-link" href="http://research.google.com/pubs/pub36356.html"
rel="nofollow">Dapper, a Large-Scale Distributed Systems Tracing Infrastructure</a>
paper and essentially is a full-fledged distributed tracing framework.</p><p>Distributed
tracing is additional instrumentation layer on top of new or existing applications. In terms
of distributed tracing, <strong>span</strong> represents a basic unit of work.
For example, executing database query is a <strong>span</strong>. <strong>Spans</strong>

 are identified by a unique 64-bit ID for the <strong>span</strong> and another
64-bit ID for the <strong>trace</strong> the span is a <strong>part</strong>
of. <strong>Spans</strong> also have other data, such as <strong>descriptions</strong>,
<strong>timelines</strong>,<strong> key-value annotations</strong>,
the <strong>ID</strong> of the <strong>span</strong> that caused them
(parent), and <strong>process</strong> ID&#8217;s (normally IP address and
process name). Spans are started and stopped, and they keep track of their timing information.
Once <strong>span</strong> is created, it should be stopped at some point in the
future. In turn, <strong>trace</strong> is a set of spans forming a tree-like
structure. For example, if you are running a JAX-RS service, a trace might be formed by a
<strong>PUT</strong> request.</p><h1 id="UsingApacheHTrace-DistributedTracinginApacheCXF">Distributed
Tracing in Apache CXF</h1><p><a shape="rect" href="http://cxf.apache.org/">Apache
CXF</a> is a
  very popular framework for building services and web APIs. No doubts, it is going to play
even more important role in context of microservices architecture letting developers to quickly
build and deploy individual JAX-RS/JAX-WS services. As it was just mentioned before, distributed
tracing is an essential technique to monitor the application as whole, breaking the request
to individual service traces as it goes through and crosses the boundaries of threads, processes
and machines.</p></div>
+</div><h1 id="UsingApacheHTrace-Overview">Overview</h1><p><a shape="rect"
class="external-link" href="http://htrace.incubator.apache.org/index.html">Apache HTrace</a>
is a tracing framework intended for use with distributed systems written in java. Since version
<strong>3.1.3</strong>, Apache CXF fully supports integration with <a shape="rect"
class="external-link" href="http://htrace.incubator.apache.org/index.html">Apache HTrace</a>,
both on client side and server side. This section gives a complete overview on how distributed
tracing support is supported in JAX-RS applications built on top of Apache CXF.</p><h1
id="UsingApacheHTrace-DistributedTracinginNutshell">Distributed Tracing in Nutshell</h1><p>Distributed
tracing, first described by Google in <a shape="rect" class="external-link" href="http://research.google.com/pubs/pub36356.html"
rel="nofollow">Dapper, a Large-Scale Distributed Systems Tracing Infrastructure</a>
paper became increasingly important topic these days. With 
 microservices (aka SOA) gaining more and more adoption, the typical applications are built
using dozens or even hundreds of small, distributed pieces. The end-to-end traceability of
the requests (or any kind of work performed on user's behalf) is hard task to accomplish,
particularly taking into account asyncronous or/and concurrent invocations. <a shape="rect"
class="external-link" href="http://htrace.incubator.apache.org/index.html">Apache HTrace</a>
is inspired by <a shape="rect" class="external-link" href="http://research.google.com/pubs/pub36356.html"
rel="nofollow">Dapper, a Large-Scale Distributed Systems Tracing Infrastructure</a>
paper and essentially is a full-fledged distributed tracing framework.</p><p>Distributed
tracing is additional instrumentation layer on top of new or existing applications. In terms
of distributed tracing, <strong>span</strong> represents a basic unit of work.
For example, executing database query is a <strong>span</strong>. <strong>Spans</strong>

 are identified by a unique 64-bit ID for the <strong>span</strong> and another
64-bit ID for the <strong>trace</strong> the span is a <strong>part</strong>
of. <strong>Spans</strong> also have other data, such as <strong>descriptions</strong>,
<strong>timelines</strong>,<strong> key-value annotations</strong>,
the <strong>ID</strong> of the <strong>span</strong> that caused them
(parent), and <strong>process</strong> ID&#8217;s (normally IP address and
process name). Spans are started and stopped, and they keep track of their timing information.
Once <strong>span</strong> is created, it should be stopped at some point in the
future. In turn, <strong>trace</strong> is a set of spans forming a tree-like
structure. For example, if you are running a JAX-RS service, a trace might be formed by a
<strong>PUT</strong> request.</p><p>From implementation prospective,
and in context of Java applications, <strong>spans</strong> are attached to their
threads (in general, thread which created the
  <strong>span</strong> should close it). However it is possible to transfer <strong>spans</strong>
from thread to thread in order to model a complex execution flows. It is also possible to
have many <strong>spans</strong> in the same thread, as long as they are properly
created and closed. In the next sections we are going to see the examples of that.</p><h1
id="UsingApacheHTrace-DistributedTracinginApacheCXF">Distributed Tracing in Apache CXF</h1><p><a
shape="rect" href="http://cxf.apache.org/">Apache CXF</a> is a very popular framework
for building services and web APIs. No doubts, it is going to play even more important role
in context of microservices architecture letting developers to quickly build and deploy individual
JAX-RS/JAX-WS services. As it was just mentioned before, distributed tracing is an essential
technique to monitor the application as whole, breaking the request to individual service
traces as it goes through and crosses the boundaries of threads, processes and 
 machines.</p><p>The current integration of distributed tracing in <a shape="rect"
href="http://cxf.apache.org/">Apache CXF</a> supports <a shape="rect" class="external-link"
href="http://htrace.incubator.apache.org/index.html">Apache HTrace</a> only in JAX-RS
2.x applications. From high-level prospective, it consists of three main parts:</p><ul
style="list-style-type: square;"><li><strong>TracerContext</strong> (injectable
through <strong>@Context</strong> annotation)</li><li><strong>HTraceProvider</strong>
(server-side JAX-RS provider) and <strong>HTraceClientProvider</strong> (client-side
JAX-RS provider)</li><li><strong>HTraceFeature</strong> (server-side
<a shape="rect" href="http://cxf.apache.org/">Apache CXF</a> feature to simplify
<a shape="rect" class="external-link" href="http://htrace.incubator.apache.org/index.html">Apache
HTrace</a> configuration and integration)</li></ul><p>&#160;</p></div>
            </div>
            <!-- Content -->
          </td>



Mime
View raw message