History log of /external/trappy/trappy/plotter/ILinePlot.py
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e81fdcb135d0325e3bc22fae0583555d20aae280 04-Jan-2017 Brendan Jackman <brendan.jackman@arm.com> Update ARM Ltd. copyright to 2017
/external/trappy/trappy/plotter/ILinePlot.py
e2ede1f52665ff9ca6ed5177528b2f150ef16a35 02-Nov-2016 Brendan Jackman <brendan.jackman@arm.com> ILinePlot: Add fill_alpha parameter
/external/trappy/trappy/plotter/ILinePlot.py
e6248036ae9cb71b19eb9f774bed0e5519497676 02-Nov-2016 Brendan Jackman <brendan.jackman@arm.com> ILinePlot: Remove unused _attr field
/external/trappy/trappy/plotter/ILinePlot.py
5c53c1f76cb60be8cf1d6c43b54a3f04eae10d6c 07-Jul-2016 Kapileshwar Singh <kpsingh@google.com> ILinePlot: Performance Improvements for ILinePLot

Instead of converting the DataFrame to JSON and converting to
the dyrgaph format in JS. Send the prepared data as expected by dygraphs
to the JavaScript Library and get rid of convertToDataTable function.

With the current change the following plot works reasonably well on my
laptop (Core i7 2.2GHz, 16GB RAM)

```
columns = ["tick", "tock", "toe"]
df = pd.DataFrame(numpy.random.randn(300000, 3),
columns=columns).cumsum()

trappy.ILinePlot(df, column=columns).view(max_datapoints=2000001)
```

Do not convert DataFrame to dict in fix_indexes
/external/trappy/trappy/plotter/ILinePlot.py
cd8793fbc3e9f79376fb244307f40996880703f7 08-Jul-2016 Michele Di Giorgio <michele.digiorgio@arm.com> plotter: ILinePlot: make _fix_indexes always return a dictionary

Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
539612bdf03cd19a72cac521d4400ddf7421b70b 07-Jul-2016 Kapileshwar Singh <kapileshwarsingh@gmail.com> Merge pull request #206 from JaviMerino/ilineplot_xlim/v1

ILinePlot: only pass the necessary data when xlim is passed
e6274bd2296229dae5303df8b4226601cc4abdb6 04-Jul-2016 Javi Merino <javi.merino@arm.com> ILinePlot: only pass the necessary data when xlim is passed

xlim limits the x axis to a given range, but for ILinePlot we pass all
the data to dygraph and then let dygraph apply the window. That means
that we include a lot of useless data in the notebook and we lose
performance parsing data that will never be plotted.

Improve xlim for ILinePlot so that it only embeds the data relevant for
the plot.
/external/trappy/trappy/plotter/ILinePlot.py
324d21ac8e40f03897da64a2cd2eda8ff1447e51 06-Jul-2016 Javi Merino <javi.merino@arm.com> ILinePlot: document the xlim and ylim parameters

ILinePlot accepts xlim and ylim but it's not documented. Do it.
/external/trappy/trappy/plotter/ILinePlot.py
68e30d3539a282ef484c6caf2c89cacc905b1956 04-Jul-2016 Kapileshwar Singh <kapileshwarsingh@gmail.com> Merge pull request #204 from JaviMerino/plotter_color_everywhere_v2

Plotter color everywhere v2
d2d686c76246c2187cea62236685fbe4730e7584 30-Jun-2016 Javi Merino <javi.merino@arm.com> ILinePlot: avoid generating plots that can hang the browser

When creating huge plots, ILinePlot can make the browser choke. Prevent
it by rasing an exception if the user is trying to create a plot that
can hang their browser.
/external/trappy/trappy/plotter/ILinePlot.py
2d736565452648d46ad87324f2dd5ceb1223e212 30-Jun-2016 Javi Merino <javi.merino@arm.com> ILinePlot: document parameters of view()
/external/trappy/trappy/plotter/ILinePlot.py
e5c3597852f0bd31494b60b463d3b88e922d59cf 17-Jun-2016 Javi Merino <javi.merino@arm.com> plotter: augment the signals spec to include colors

Now that we have color support in all plots, augment the signal spec to
have color as an additional third parameter. With this syntax, signal
"thermal:temp:255,0,255" plots the temp column of the thermal trace in
pink.
/external/trappy/trappy/plotter/ILinePlot.py
7f6a6d7c1b9b1418b03a8246947c19e254b519ae 09-May-2016 Javi Merino <javi.merino@arm.com> ILinePlot: preserve order in the legend of ILinePlot

In aa4bece3adc7 ("ILinePlot: don't call data_frame what's just a
python dict") we turned a pd.Series to a dict, because we were
effectively using it as a dict. However, there was a behaviour change
as a result of this: pandas series preserve the order of entries
whereas python dictionaries may reorder its entries. Use an OrderedDict
instead, as that's what aa4bece3adc7 should have done.
/external/trappy/trappy/plotter/ILinePlot.py
aa4bece3adc7f37b8121c84f2515ab2300c132f9 27-Apr-2016 Javi Merino <javi.merino@arm.com> ILinePlot: don't call data_frame what's just a python dict

Since the dawn of time we have a "data_frame" variable in ILinePlot that
is actually defined as a pd.Series() but it's acting as a dict. Rename
it and turn the pd.Series into a dict, as it is simpler and it really is
what this variable moves around.
/external/trappy/trappy/plotter/ILinePlot.py
4f4b18adce159f73b112ab789d695918ba45ef2f 29-Mar-2016 Javi Merino <javi.merino@arm.com> plotter: fix references to FTrace

With the introduction of BareTrace and SysTrace, there are a number of
references in the documentation to FTrace that should be more generic,
as classes operate on any of the three *Trace classes. Update some of
the documentation to reflect this.
/external/trappy/trappy/plotter/ILinePlot.py
f63869e1801a0c478f3fd3cc625b66391d0dd7da 15-Mar-2016 Javi Merino <javi.merino@arm.com> plotter: document synchronized zoom

synchronnized zoom was introduced in 67527ddea39e ("plotter: ILinePlot:
Synchronize plot ranges and zoom") but never documented.
/external/trappy/trappy/plotter/ILinePlot.py
fadc28a47e8695d0757a252a197c0a903bd5a830 09-Mar-2016 Javi Merino <javi.merino@arm.com> ILinePlot: fix merging with duplicate indexes in one of the dataframes

If one of the dataframes passed to ILinePlot have duplicate indexes,
view() fails with

File "/home/javi/src/trappy/trappy/tests/trappy/plotter/ILinePlot.py", line 151, in view
self._plot(self._attr["permute"], test)
File "/home/javi/src/trappy/trappy/tests/trappy/plotter/ILinePlot.py", line 199, in _plot
data_frame = self._fix_indexes(data_frame)
File "/home/javi/src/trappy/trappy/tests/trappy/plotter/ILinePlot.py", line 243, in _fix_indexes
merged_df = pd.concat(data_frame.get_values(), axis=1)
File "/usr/lib/python2.7/dist-packages/pandas/tools/merge.py", line 813, in concat
return op.get_result()
File "/usr/lib/python2.7/dist-packages/pandas/tools/merge.py", line 966, in get_result
tmpdf = DataFrame(data, index=index)
File "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", line 226, in __init__
mgr = self._init_dict(data, index, columns, dtype=dtype)
File "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", line 363, in _init_dict
dtype=dtype)
File "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", line 5163, in _arrays_to_mgr
arrays = _homogenize(arrays, index, dtype)
File "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", line 5465, in _homogenize
v = v.reindex(index, copy=False)
File "/usr/lib/python2.7/dist-packages/pandas/core/series.py", line 2268, in reindex
return super(Series, self).reindex(index=index, **kwargs)
File "/usr/lib/python2.7/dist-packages/pandas/core/generic.py", line 1962, in reindex
method, fill_value, copy).__finalize__(self)
File "/usr/lib/python2.7/dist-packages/pandas/core/generic.py", line 1981, in _reindex_axes
fill_value=fill_value, copy=copy, allow_dups=False)
File "/usr/lib/python2.7/dist-packages/pandas/core/generic.py", line 2073, in _reindex_with_indexers
copy=copy)
File "/usr/lib/python2.7/dist-packages/pandas/core/internals.py", line 3503, in reindex_indexer
self.axes[axis]._can_reindex(indexer)
File "/usr/lib/python2.7/dist-packages/pandas/core/index.py", line 2086, in _can_reindex
raise ValueError("cannot reindex from a duplicate axis")
ValueError: cannot reindex from a duplicate axis

Fix it by filtering the DataFrames through handle_duplicate_index()
before merging them.

Change-Id: I34e6af523d14e35c3a17652924fbaa5989c1243d
/external/trappy/trappy/plotter/ILinePlot.py
f2666cb3e55dfc7812d6c170f992190e795602cf 09-Mar-2016 Javi Merino <javi.merino@arm.com> ILinePlot: learn to pass tests

Let view() parse the test parameter so that we can test ILinePlot from
the testsuite. It's not a complete solution, but it's good enough to
get us started.

Change-Id: Ie0ce7a541b8714b579118143208b818277a585a6
/external/trappy/trappy/plotter/ILinePlot.py
26b5bb864821f3f81a69188dd84e7a92f6bbef49 03-Mar-2016 Michele Di Giorgio <michele.digiorgio@arm.com> ILinePlot: create uniform indexes for mupltiple traces

When plotting multiple traces with different indexes (i.e. x-axis values) the
legend of the interactive plotter shows one label at a time because for the
other traces no index (and as a consequence no value) exist.

To avoid this, we merge the indexes of the traces to get a common x-axis for
all of them and then fill the resulting NaN values accordingly to the selected
drawstyle, that is:

- default, interpolation

- steps-pre, copy previous value (bfill)

- steps-post, copy next value (ffill)

- steps-mid, copy next value (ffill)

Merging is performed right before the data is added to the plot. This makes
sure that "only" the data to be plotted is affected by the merge. In fact, at
this point filtering has already been done.
/external/trappy/trappy/plotter/ILinePlot.py
050d92dc369f94f64dcff69260ff9d1a0322cab8 02-Mar-2016 Michele Di Giorgio <michele.digiorgio@arm.com> ILinePlot: remove unused attribute legend_ncol

Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
b8d89134b5ea7157b5b77f7907f569dff955fa1b 01-Mar-2016 Javi Merino <javi.merino@arm.com> plotter: improve documentation

The first parameter is called "traces" for all the plotter. Also,
clarify the wording so that it's clear that it accepts one trace or a
list of traces.
/external/trappy/trappy/plotter/ILinePlot.py
58ee89590c15ce475cdb8dd374640013ba31b7da 26-Feb-2016 Michele Di Giorgio <michele.digiorgio@arm.com> plotter: ILinePlot: fix title and legend for interactive plots

Both title and legend are now consistent with what is shown for the static
plots.
/external/trappy/trappy/plotter/ILinePlot.py
b24eed7a902022c014c61f7c8c3061adf53f4eac 25-Feb-2016 Michele Di Giorgio <michele.digiorgio@arm.com> plotter: create uniform title style for every type of plot

A uniform style for printing plots titles is added. The final figure
will show the following titles:

- Master Title: empty by default. This is the title of the entire
plot. Shown at the top center of the figure if the user
provides it.

- Pivot/Column Title: title of each plot is empty by default. It shows
pivot names if any pivot is specified by the user.
Otherwise, it shows column names if permute is set
to True.

For interactive plots the title given by the user was ignored and
therefore not shown in the plot. Therefore, the proper attribute has
been added to the class and it's now printed in the figure.
/external/trappy/trappy/plotter/ILinePlot.py
9b4898aa3ea40f2af85157af65ab491e8aaa9b4c 19-Feb-2016 Michele Di Giorgio <michele.digiorgio@arm.com> plotter: always show lower centered legend

For both static and interactive plot show the legend below the plots and
centered with respect to the area occupied by the figures.

Static plots will show three labels per line in the legend by default.
This default value can be changed by setting the legend_ncol parameter
to the desired value. Notice also that the legend is shown in any case even
for a single trace. Since the trace name will now always appear in the legend,
in the next commits it will be removed from the title.

Interactive plots will show the legend with a single label per line, as there
is no option in javascript to tell the maximum number of labels that can be
printed in one line.
/external/trappy/trappy/plotter/ILinePlot.py
8377bdc6856e004ecc6554008a9e0f556a05b579 16-Feb-2016 Michele Di Giorgio <michele.digiorgio@arm.com> plotter: ILinePlotGen: substitute cols parameter with per_line

The per_line attribute is written into the json file that describes the
plot to be displayed. It identifies the number of figures in a line and
therefore the number of columns. For this reason the cols parameter has
been deleted from the ILinePlotGen class.

This also solves the issue with too narrow plot when plotting a single
figure. Previously, per_line was always set to the default value equal
to 2 which caused the plot of a single figure to be in the first column
even if no figures are being plotted in the next one.

close #134
/external/trappy/trappy/plotter/ILinePlot.py
4ec4aee55dbd4045cfb6a2fe099615a569ce7ff7 05-Jan-2016 Javi Merino <javi.merino@arm.com> trappy: update copyright to 2016
/external/trappy/trappy/plotter/ILinePlot.py
c26a323210533d4ed3a8b4e62c33744236e3beda 11-Dec-2015 Javi Merino <javi.merino@arm.com> ftrace: rename Run to FTrace

Run is a very generic and inappropriate name for an object that parses
the result of ftrace into a form consumable by python. Rename it to
FTrace in preparation for its generalization.
/external/trappy/trappy/plotter/ILinePlot.py
42c78754ea984f563ec2b5b843d3f6c9903a835d 17-Dec-2015 Toby Huang <toby.huang@arm.com> plotter: ILinePlot: Add a map for pivot labels

Add a map to provide alternate names for pivot labels

Signed-off-by: Toby Huang <toby.huang@arm.com>
Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
bb752f8828c8d170f6ab32c1b88a3792bb31f0ae 27-Nov-2015 Kapileshwar Singh <kapileshwar.singh@arm.com> plotter: Allow usage of signals in Plotter API

A Signal is a combination of a TRAPpy event and a column
represented as:

"<event_name>:<column>"

For example:

"cpu_capacity:capacity"

The Plotter API now accepts a signals=<list of signals>
argument. This is mutually exclusive with the templates=
and column= inputs

Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
e76bf30a921c4cdedbe75075d32a8918dd982a14 22-Sep-2015 Kapileshwar Singh <kapileshwar.singh@arm.com> plotter: ILinePlot: Lazy IPython resource installation

Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
3e1c89df27d9eb5de9161e8616ac5f2e9b87deac 11-Sep-2015 Javi Merino <merino.jav@gmail.com> Merge pull request #23 from sinkap/scatter_plots

Scatter plots for ILinePlot and LinePlot
db1a0bda4c973dc86cf26268914d1d968fe7bcb8 07-Sep-2015 Kapileshwar Singh <kapileshwar.singh@arm.com> doc: ILinePlot: Use sphinx friendly docstrings

Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
7ab82627f892036d7eeb04af3d282a329f8d04cd 11-Sep-2015 Kapileshwar Singh <kapileshwar.singh@arm.com> plotter: ILinePlot: Add Support for scatter plots

scatter=True enables a scatter plot (data points) without the
line. The size of the point can be adjusted with the point_size
parameter

Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
53de9b352977814c37608788cc1df83fc6485371 25-Aug-2015 Kapileshwar Singh <kapileshwar.singh@arm.com> plotter: IPython v4 Compatibility

IPython 4.0 changes the location of the web server and the way
IPython 4.0 profiles are handled. This changes allows plotter
to be compatible with both IPython 4.0+ and the earlier versions

Signed-off-by: Kapileshwar Singh <kapileshwar.singh@arm.com>
/external/trappy/trappy/plotter/ILinePlot.py
435457c8af9d69383ba45e0bd7da022d967a8dea 10-Aug-2015 Javi Merino <javi.merino@arm.com> trappy: rename to trappy

Change-Id: I7e0e34c9f5565e34629683bb29ab25cf5e737088
/external/trappy/trappy/plotter/ILinePlot.py