This package adds support for TraceView performance instrumentation in Plone
TraceView times the full request from the browser through frontend servers to application servers. collective.traceview gives you insight into Zope/Plone internals and adds these layers to TraceView:
- Zope HTTP Server
- Zope publisher
- Portal Transforms
- Outbound calls to e.g. webservices
- Portal Catalog searches
- Chameleon ZPT engine
It also adds tags to the HTML header and footer to instrument TraceView Real User Monitoring (RUM), so you’ll get metrics about user network connectivity and how long time your site takes to render inside the browsers of the real users.
You need a TraceView account, TraceView installed on the Plone server. And then the TraceView Python oboe library must be installed with the same Python that runs Plone.
collective.traceview has been tested with Plone 4.
System dependencies: liboboe and liboboe-devel (for CentOS) or liboboe-dev (for Debian/Ubuntu)
Update your buildout.cfg file:
Add tracelytics pypi under find-links
find-links += http://pypi.tracelytics.com/oboe
Add package in develop mode
auto-checkout = collective.traceview
Add oboe and collective.traceview to the list of eggs to install
[instance] recipe = plone.recipe.zope2instance ... eggs = ... collective.traceview oboe
Get package from collective sources (or create your own GitHub fork)
[sources] ... collective.traceview = git https://github.com/collective/collective.traceview.git
Get oboe egg version 1.3.8, the latest one released on pypi (version 1.4.2) is not yet fully tested (RUM not working)
[versions] ... oboe = 1.3.8
Re-run buildout, e.g. with:
Usually the X-Trace header is generated from a front-end webserver, typically apache. But in some cases there is no such front-end webserver, so nowhere to start the trace. We did now add the possibility to get Plone to start the tracing. Just install the product in the usual way as described above and set the following environment variables. See example below:
[instance] recipe = plone.recipe.zope2instance ... environment-vars = ... TRACEVIEW_IGNORE_EXTENSIONS js;css;png;jpeg;jpg;gif;pjpeg;x-png;pdf TRACEVIEW_IGNORE_FOUR_OH_FOUR 1 TRACEVIEW_PLONE_TRACING 1 TRACEVIEW_DETAILED_PARTITION 1 TRACEVIEW_SAMPLE_RATE 1.0 TRACEVIEW_TRACING_MODE always
TRACEVIEW_IGNORE_EXTENSIONS tells TraceView not to trace urls with the following extensions, default value no extension is defined.
TRACEVIEW_IGNORE_FOUR_OH_FOUR tells TraceView not to record 404 pages, default value is 0.
TRACEVIEW_PLONE_TRACING tells Plone to do the tracing, do not set this if you have oboe installed on apache in the front end, default value is 0.
TRACEVIEW_DETAILED_PARTITION will split trafic into detailed partition, where the partition name will also include hostname and zope instance name. The default is to only partition for Anonymous and Authenticated trafic.
TRACEVIEW_SAMPLE_RATE the sample rate, 1.0 means all requests, 0.0 means no requests, default value is 0.3.
TRACEVIEW_TRACING_MODE tracing mode, always means that we will trace requests, none means no requests to be traced, default value is none.
- Added initial support for Chameleon [bosim]
- Small markup fixes to CHANGES.txt and README.rst files [alecghica]
- Fixed long_description under setup.py to make changelog appear under PyPi package description page [alecghica]
- Updated documentation. [alecghica]
- Fix bug in httpserver patch when request.uri is None [tiberiuichim]
- Added TRACEVIEW_DETAILED_PARTITION to split trafic in partitions that include hostname and zope instance name [tiberiuichim]
- Added initial plone tracing instrumentation [bosim]
- Initial implementation of zserver (medusa) http server patch [bosim]
- Handle both Plone 3 and Plone 4 [stonor]
- Fixed oboe and unicode [stonor]
- Fixed Zodb support to sends correct keys [stonor]
- Fixed case when res is None under catalog.py [alecghica]
- Updade package version under CHANGES.txt [alecghica]
- Fixed CHANGES.txt for better formatting and to reflect latest release [alecghica]
- Initial public development release [bosim]