winscope_geometry: Make member operator== const (#1957)
Otherwise we get a warning in C++20.
```
external/perfetto/include/perfetto/ext/base/flat_hash_map.h:214:42: error: ISO C++20 considers use of overloaded operator '==' (with operand types 'perfetto::trace_processor::winscope::geometry::Rect' and 'perfetto::trace_processor::winscope::geometry::Rect') to be ambiguous despite there being a unique best viable function [-Werror,-Wambiguous-reversed-operator]
214 | if (tag_idx == tag && keys_[idx] == key) {
| ~~~~~~~~~~ ^ ~~~
external/perfetto/src/trace_processor/importers/proto/winscope/winscope_rect_tracker.cc:38:17: note: in instantiation of member function 'perfetto::base::FlatHashMap<perfetto::trace_processor::winscope::geometry::Rect, perfetto::trace_processor::tables::WinscopeRectTable::Id, perfetto::trace_processor::winscope::RectHasher>::Insert' requested here
38 | return *rows_.Insert(rect, id).first;
| ^
external/perfetto/src/trace_processor/importers/proto/winscope/winscope_geometry.h:47:8: note: ambiguity is between a regular call to this operator and a call with the argument order reversed
47 | bool operator==(const Rect& other);
| ^
external/perfetto/src/trace_processor/importers/proto/winscope/winscope_geometry.h:47:8: note: mark 'operator==' as const or add a matching 'operator!=' to resolve the ambiguity
1 error generated.
```
Android in-tree builds are done with C++20 now.
Also, mark other related methods as const.Perfetto is an open-source suite of SDKs, daemons and tools which use tracing to help developers understand the behaviour of complex systems and root-cause functional and performance issues on client and embedded systems.
It is a production-grade tool that is the default tracing system for the Android operating system and the Chromium browser.
Perfetto is not a single tool, but a collection of components that work together:
Perfetto was designed to be a versatile and powerful tracing system for a wide range of use cases.
ftrace, allowing you to visualize scheduling, syscalls, interrupts, and custom kernel tracepoints on a timeline.chrome://tracing. Use it to debug and root-cause issues in the browser, V8, and Blink.We‘ve designed our documentation to guide you to the right information as quickly as possible, whether you’re a newcomer to performance analysis or an experienced developer.
New to tracing? If you're unfamiliar with concepts like tracing and profiling, start here:
Ready to dive in? Our “Getting Started” guide is the main entry point for all users. It will help you find the right tutorials and documentation for your specific needs:
Want the full overview? For a comprehensive look at what Perfetto is, why it's useful, and who uses it, see our main documentation page:
Have questions? Need help?
We follow Google's Open Source Community Guidelines.