Lines Matching +full:vrange +full:- +full:high +full:- +full:enable
2 # SPDX-License-Identifier: GPL-2.0
3 # exported-sql-viewer.py: view data from sql database
4 # Copyright (c) 2014-2018, Intel Corporation.
7 # export-to-sqlite.py or the export-to-postgresql.py script. Refer to those
11 # call-graph can be displayed for the pt_example database like this:
13 # python tools/perf/scripts/python/exported-sql-viewer.py pt_example
18 # python tools/perf/scripts/python/exported-sql-viewer.py "hostname=myhost username=myuser password…
20 # The result is a GUI window with a tree representing a context-sensitive
21 # call-graph. Expanding a couple of levels of the tree and adjusting column
26 # v- ls
27 # v- 2638:2638
28 # v- _start ld-2.19.so 1 10074071 100.0 211135 …
29 # |- unknown unknown 1 13198 0.1 1 …
30 # >- _dl_start ld-2.19.so 1 1400980 13.9 19637 …
31 # >- _d_linit_internal ld-2.19.so 1 448152 4.4 11094 …
32 # v-__libc_start_main@plt ls 1 8211741 81.5 180397 …
33 # >- _dl_fixup ld-2.19.so 1 7607 0.1 108 …
34 # >- __cxa_atexit libc-2.19.so 1 11737 0.1 10 …
35 # >- __libc_csu_init ls 1 10354 0.1 10 …
36 # |- _setjmp libc-2.19.so 1 0 0.0 4 …
37 # v- main ls 1 8182043 99.6 180254 …
57 # ./mfile.py --share
58 # sudo ./mfile.py --prefix=/usr/local install
64 …rupt No ffffffff86a00a67 native_irq_return_iret ([kernel]) -> 7fab593ea260 _start (ld-2.19.so)
66 …22011 22011 hardware interrupt No 7fab593ea260 _start (ld-2.19.so) -> ffffffff86a012…
67 …rupt No ffffffff86a00a67 native_irq_return_iret ([kernel]) -> 7fab593ea260 _start (ld-2.19.so)
70 … No 7fab593ea263 _start+0x3 (ld-2.19.so) -> 7fab593ea930 _dl_start (ld-2.…
85 …2011 hardware interrupt No 7fab593ea94f _dl_start+0x1f (ld-2.19.so) -> ffffffff86a012…
86 … No ffffffff86a00a67 native_irq_return_iret ([kernel]) -> 7fab593ea94f _dl_start+0x1f (ld-2.19…
89 …2011 hardware interrupt No 7fab593ea956 _dl_start+0x26 (ld-2.19.so) -> ffffffff86a012…
94 # Only change warnings if the python -W option was not used
119 if not "--pyside-version-1" in sys.argv:
171 return findnth(s[pos + 1:], sub, n - 1, offs + pos + 1)
396 self.prev_button.released.connect(lambda: self.NextPrev(-1))
483 # Context-sensitive call graph data model item base
513 return -1
524 # Context-sensitive call graph data model level 2+ item base
545 …QueryExec(query, "SELECT call_path_id, name, short_name, COUNT(calls.id), SUM(return_time - call_t…
568 # Context-sensitive call graph data model level three item
585 # Context-sensitive call graph data model level two item
613 # Context-sensitive call graph data model level one item
637 # Context-sensitive call graph data model root item
664 # Context-sensitive call graph data model base
743 # Context-sensitive call graph data model
830 …QueryExec(query, "SELECT calls.id, name, short_name, call_time, return_time - call_time" + ipc_str…
1084 # Context-sensitive call graph window
1091 self.model = LookupCreateModel("Context-Sensitive Call Graph", lambda x=glb: CallGraphModel(x))
1104 AddSubWindow(glb.mainwindow.mdi_area, self, "Context-Sensitive Call Graph")
1204 # Container for sub-range data
1280 x = float(Decimal(x) - self.xbase)
1281 y = float(Decimal(y) - self.ybase)
1332 # Schedule-out: detect and add exec's
1336 # Schedule-in: add data point
1358 pid = -1
1359 tid = -1
1456 x1 = x - 1
1464 width = x1 - x0 + 1
1467 painter.drawLine(x0, self.graph_height - y0, x0, self.graph_height)
1469 painter.fillRect(x0, self.graph_height - y0, width, self.graph_height - 1, colour)
1542 # X-axis graphics item
1559 t = subrange.hi - subrange.lo
1584 # Using QPainter::drawLine(int x1, int y1, int x2, int y2) so x2 = width -1
1585 painter.drawLine(0, 0, self.width - 1, 0)
1590 x_offset = n - (subrange.lo % n)
1675 # Switch graph graphics item contains graph title, scale, x/y-axis, and the graphed data
1709 self.yline.setPos(self.graph_origin_x - y_axis_size, self.graph_origin_y - graph_height)
1712 self.axis_point.setPos(self.graph_origin_x - 1, self.graph_origin_y +1)
1718 self.graph.setPos(self.graph_origin_x, self.graph_origin_y - graph_height)
1721 parent.EnableRubberBand(self.graph_origin_x, self.graph_origin_x + graph_width - 1, self)
1730 return self.attrs.PixelToX(x - self.graph_origin_x)
1761 # Graphics item to draw a vertical bracket (used to highlight "forward" sub-range)
1782 x1 = self.width - 1
1783 y1 = self.height - 1
1788 painter.drawLine(0, y1, 0, y1 - 3)
1789 painter.drawLine(x1, y1, x1, y1 - 3)
1881 width = x - self.rb_origin.x()
1884 width = self.rb_origin.x() - x
1885 top_left = QPoint(self.rb_origin.x() - width, self.rb_origin.y())
1979 bottom_right = self.createIndex(row, len(self.column_headers) - 1, child)
2008 self.view.sortByColumn(-1, Qt.AscendingOrder)
2089 return int(round((x - self.subrange.x.lo) * self.scale.x, self.pdp.x))
2092 return int(round((y - self.subrange.y.lo) * self.scale.y, self.pdp.y))
2105 return x - 1
2113 return y - 1
2126 x -= 1
2127 x = -int(math.floor(x) - 0.1)
2151 sz0 = self.size().width() - self.handleWidth() - sz1
2155 sz0 = self.size().width() - self.handleWidth() - sz1
2214 xsubrange = Subrange(0.0, float(collection.xrangehi - collection.xrangelo) + 1.0)
2215 ysubrange = Subrange(0.0, float(collection.yrangehi - collection.yrangelo) + 1.0)
2264 r = xsubrange.hi - xsubrange.lo
2268 # Default graph 50 pixels high
2270 r = ysubrange.hi - ysubrange.lo
2274 # Default graph 1000 pixels wide, 50 pixels high
2282 rel_time_from = time_from - self.glb.StartTime(self.collection.machine_id)
2310 rel_time_from = time_from - self.start_time
2311 rel_time_to = time_to - self.start_time
2313 text = text + " duration: " + ToTimeStr(time_to - time_from)
2344 rel_time_from = time_from - self.start_time
2345 rel_time_to = time_to - self.start_time
2347 title = title + " (" + ToTimeStr(time_to - time_from) + ")"
2376 if x1 - x0 < 1.0:
2398 # Slow initialization - perform non-GUI initialization in a separate thread and put up a modal mess…
2500 return -1
2512 self.pos -= 1
2514 self.pos = len(self.rows) - 1
2517 row = -1
2554 self.last_id = -1
2564 self.query_limit -= 1
2587 space = len(self.buffer) - self.local_head
2595 if self.local_tail - self.local_head > sz:
2641 batch_size = min(glb_chunk_sz, target - self.fetched)
2683 self.process_target.value = -1
2701 count = fetch_count - self.last_count
2708 # -1 inidcates there are no more
2709 return -1
2711 extra = result + nr - self.target
2722 if len(self.buffer) - pos < glb_nsz:
2806 def Enable(self, enable): argument
2807 self.fetch.setEnabled(enable)
2808 self.fetch_count.setEnabled(enable)
2811 self.Enable(False)
2818 self.Enable(True)
2838 percent = ((count - self.start) * 100) / self.Target()
2895 self.br_col = len(self.data) - 1
2949 tot = bsym_start + boff + 1 - sym_start - off
2981 tot -= cnt
2982 buf_sz -= cnt
2989 return -1
3041 " (" + dsoname(query.value(11)) + ")" + " -> " +
3173 count = self.populated - child_count
3176 self.beginInsertRows(parent, child_count, child_count + count - 1)
3355 # Non-negative integer ranges dialog data item
3368 if "-" in value:
3369 vrange = value.split("-")
3370 if len(vrange) != 2 or not self.IsNumber(vrange[0]) or not self.IsNumber(vrange[1]):
3372 ranges.append(vrange)
3491 suffix = val[-2:]
3500 val = val[:-2].strip()
3510 def ConvertTimeRange(self, vrange): argument
3511 if vrange[0] == "":
3512 vrange[0] = str(self.first_time)
3513 if vrange[1] == "":
3514 vrange[1] = str(self.last_time)
3515 vrange[0] = self.ConvertRelativeTime(vrange[0])
3516 vrange[1] = self.ConvertRelativeTime(vrange[1])
3517 if not self.IsNumber(vrange[0]) or not self.IsNumber(vrange[1]):
3519 beg_range = max(int(vrange[0]), self.first_time)
3520 end_range = min(int(vrange[1]), self.last_time)
3523 vrange[0] = self.BinarySearchTime(0, self.last_id, beg_range, True)
3524 vrange[1] = self.BinarySearchTime(1, self.last_id + 1, end_range, False)
3528 n = value.count("-")
3532 if value.split("-")[1].strip() == "":
3538 pos = findnth(value, "-", n)
3539 vrange = [value[:pos].strip() ,value[pos+1:].strip()]
3540 if self.ConvertTimeRange(vrange):
3541 ranges.append(vrange)
3639 …lambda g, p: NonNegativeIntegerRangesDataItem(g, "CPUs:", "Enter CPUs or ranges e.g. 0,5-6", "cpu"…
3709 count = self.populated - child_count
3712 self.beginInsertRows(parent, child_count, child_count + count - 1)
3868 max_width = [0] * (1 + max_col - min_col)
3870 c = i.column() - min_col
3883 c = col - min_col
3890 pad = " " * (width - len(val))
3906 width = max_width[i.column() - min_col]
3912 pad = " " * (width - len(val))
3946 expanded_mark = unicode(chr(0xE2) + chr(0x96) + chr(0xBC) + " ", "utf-8")
3947 not_expanded_mark = unicode(chr(0xE2) + chr(0x96) + chr(0xB6) + " ", "utf-8")
3961 n += (i.internalPointer().level - 1) * indent_sz
3984 pad = " " * (width - len(val))
4004 val = indent_str * (i.internalPointer().level - 1) + mark + val.strip()
4013 pad = " " * (width - len(val))
4082 self.view.sortByColumn(-1, Qt.AscendingOrder)
4150 " call_time, return_time, (return_time - call_time) AS elapsed_time, branch_count, "
4319 self.mdi_area.setActiveSubWindow(self.mdi_area.subWindowList()[nr - 1])
4327 text-indent: 40px;
4330 text-indent: 80px;
4335 <p class=c2><a href=#callgraph>1.1 Context-Sensitive Call Graph</a></p>
4344 <h2 id=callgraph>1.1 Context-Sensitive Call Graph</h2>
4345 The result is a GUI window with a tree representing a context-sensitive
4346 call-graph. Expanding a couple of levels of the tree and adjusting column
4351 v- ls
4352 v- 2638:2638
4353 … v- _start ld-2.19.so 1 10074071 100.0 211135 100.0
4354 … |- unknown unknown 1 13198 0.1 1 0.0
4355 … >- _dl_start ld-2.19.so 1 1400980 13.9 19637 9.3
4356 … >- _d_linit_internal ld-2.19.so 1 448152 4.4 11094 5.3
4357 … v-__libc_start_main@plt ls 1 8211741 81.5 180397 85.4
4358 … >- _dl_fixup ld-2.19.so 1 7607 0.1 108 0.1
4359 … >- __cxa_atexit libc-2.19.so 1 11737 0.1 10 0.0
4360 … >- __libc_csu_init ls 1 10354 0.1 10 0.0
4361 … |- _setjmp libc-2.19.so 1 0 0.0 4 0.0
4362 … v- main ls 1 8182043 99.6 180254 99.9
4375 Ctrl-F displays a Find bar which finds function names by either an exact match or a pattern match.
4378 The Call Tree report is very similar to the Context-Sensitive Call Graph, but the data is not aggre…
4386 <li>The disassembler is available. Currently, only Intel XED is supported - see <a href=#xed>Intel …
4398 ./mfile.py --share
4399 sudo ./mfile.py --prefix=/usr/local install
4409 Ctrl-F displays a Find bar which finds substrings by either an exact match or a regular expression …
4419 81073085947329-81073085958238 From 81073085947329 to 81073085958238
4420 100us-200us From 100us to 200us
4421 10ms- From 10ms to the end
4422 -100ns The first 100ns
4423 -10ms- The last 10ms
4429 If not all data is fetched, a Fetch bar is provided. Ctrl-F displays a Find bar.
4438 <li>If call information is available, right-click to show a call tree opened to that task and time.
4457 <p>There are also tables of database meta-information.
4461 Ctrl-F displays a Find bar which finds substrings by either an exact match or a regular expression …
4464 <p>N.B. Results are found in id order, so if the table is re-ordered, find-next and find-previous
4566 ResizeFont(widget, -1)
4571 # Unique name for sub-windows
4591 # Add a sub-window
4633 …CreateAction("&Shrink Font", "Make text smaller", self.ShrinkFont, self, [QKeySequence("Ctrl+-")]))
4638 …eports_menu.addAction(CreateAction("Context-Sensitive Call &Graph", "Create a new window containin…
4788 self.buildid_dir += "/.build-id/"
4790 self.buildid_dir = self.home_dir + "/.debug/.build-id/"
4836 QueryExec(query, "SELECT id FROM machines WHERE pid = -1")
4983 usage_str = "exported-sql-viewer.py [--pyside-version-1] <database name>\n" \
4984 " or: exported-sql-viewer.py --help-only"
4986 ap.add_argument("--pyside-version-1", action='store_true')
4988 ap.add_argument("--help-only", action='store_true')