Object Introspection (OI) enables on-demand, hierarchical profiling of objects in arbitrary C/C++ programs with no recompilation.
Go to file
Jake Hillion 37991140da support 0 to many config files (#371)
Summary:
Previously OID/OIL required exactly one configuration file. This change makes it so you can supply 0 or more configuration files. 0 is useful if you have pre-generated the cache or use some sort of remote generation system. 1 is useful for the common case, where you have a configuration file that describes your entire source and use just that. More are useful if you have supplemental bits of config you wish to apply/override - see the changes to the integration test framework where we do exactly this.


Test Plan:
This isn't super well tested. It works for the test cases which add features via the config or enable `codegen.ignore`.

- CI

Reviewed By: ajor

Differential Revision: D49758032

Pulled By: JakeHillion
2023-10-02 14:06:39 -06:00
.circleci CI: Skip some OIL capture keys tests on Clang 2023-09-28 19:42:49 -07:00
.github Add website deployment script 2022-12-20 08:40:51 -08:00
cmake Enable compiler warnings globally 2023-05-23 10:36:42 +01:00
examples clang-format: set BinPackParameters=false 2023-04-24 11:28:22 +02:00
extern drgn: elfutils: Implement 64-bits offsets reconstruction for CU/TU Index Table 2023-07-06 17:09:41 +01:00
include/oi support 0 to many config files (#371) 2023-10-02 14:06:39 -06:00
oi support 0 to many config files (#371) 2023-10-02 14:06:39 -06:00
resources Compile Time OIL for OIL v2 2023-08-30 04:28:02 -07:00
test support 0 to many config files (#371) 2023-10-02 14:06:39 -06:00
tools oilgen: add missing gflags header 2023-09-20 17:59:24 +01:00
types folly::sorted_vector_map: Add key-capture support 2023-09-29 11:21:41 -07:00
website Use objectintrospection.org for the website 2023-09-21 20:59:46 +01:00
.clang-format clang-format: set BinPackParameters=false 2023-04-24 11:28:22 +02:00
.clang-tidy Initial commit 2022-12-19 06:37:51 -08:00
.editorconfig Initial commit 2022-12-19 06:37:51 -08:00
.git-blame-ignore-revs Initial commit 2022-12-19 06:37:51 -08:00
.gitignore Delete old files from test/ 2023-01-27 12:45:35 +00:00
.gitmodules drgn: add split dwarf support 2023-06-02 17:52:53 +02:00
CHANGELOG.md Initial commit 2022-12-19 06:37:51 -08:00
CMakeLists.txt support 0 to many config files (#371) 2023-10-02 14:06:39 -06:00
CODE_OF_CONDUCT.md Initial commit 2022-12-19 06:37:51 -08:00
CONTRIBUTING.md Initial commit 2022-12-19 06:37:51 -08:00
dev.oid.toml Implement new container for F14ValueMap 2023-09-08 16:31:36 +02:00
LICENSE Initial commit 2022-12-19 06:37:51 -08:00
oss.oid.toml Initial commit 2022-12-19 06:37:51 -08:00
README.md Use objectintrospection.org for the website 2023-09-21 20:59:46 +01:00

object-introspection

Matrix Chat

OI Logo

Object Introspection is a memory profiling technology for C++ objects. It provides the ability to dynamically instrument applications to capture the precise memory occupancy of entire object hierarchies including all containers and dynamic allocations. All this with no code modification or recompilation!

For more information on the technology and how to get started applying it to your applications please check out the Object Introspection website.

Join the Object Introspection community

See the CONTRIBUTING file for how to help out.

License

Object Introspection is licensed under the Apache 2.0 License.