Go to file
Ilya Shakhat 147effea78 Optimize storage schema for Redis driver
The original Redis driver stored each tracing event under its own key,
as result both list and get operations required a full scan of the database.
With this patch traces are stored as Redis lists under a key equal
to trace id. So list operation iterates only over unique trace ids
and get operation retrieves the content of a specified list. Note that
list operation still needs to retrieve at least 1 event from the trace
in order to get a timestamp.

Performance test is executed with 1000 traces each consisting 1000 events:
 * existing driver:
   * write: 48 sec
   * list:  41 sec
   * get:   3.6 sec
 * optimized driver:
   * write: 44 sec
   * list:  4.1 sec
   * get:   0.01 sec

Change-Id: I09a122f91e3d26531965fe53d6df7c66f502de4c
2019-04-09 13:27:18 +02:00
2019-02-14 11:34:05 +01:00
2018-09-17 18:06:22 +02:00
2018-07-11 07:50:25 +07:00
2015-10-17 22:34:15 +00:00
2019-01-08 16:07:27 +01:00
2014-01-09 11:25:23 +04:00
2018-07-11 07:50:25 +07:00
2018-06-28 00:37:30 +08:00
2016-03-10 17:54:20 +08:00
2018-07-11 07:50:25 +07:00
2018-11-02 07:04:55 +00:00

Team and repository tags

image

OSProfiler -- Library for cross-project profiling library

Latest Version

Downloads

OSProfiler provides a tiny but powerful library that is used by most (soon to be all) OpenStack projects and their python clients. It provides functionality to be able to generate 1 trace per request, that goes through all involved services. This trace can then be extracted and used to build a tree of calls which can be quite handy for a variety of reasons (for example in isolating cross-project performance issues).

Description
OpenStack cross service/project profiler
Readme 4.9 MiB
Languages
Python 93.2%
HTML 4.9%
Shell 1.9%