The Ember Inspector is a browser extension (Chrome, Firefox, Opera) and bookmarklet for debugging Ember.js applications. It injects a debug library (`ember-debug`) into the inspected page to introspect runtime state — component trees, route trees, Ember Data models, render performance, promises, deprecations, and object properties — and displays this data in a developer tools panel built as an Ember.js application (`ember-inspector`). The architecture follows a clear messaging pattern: a `Port` abstraction (base class with adapters for each browser/transport) handles bidirectional communication between the injected debug script and the UI panel. Debug modules (e.g., `view-debug`, `route-debug`, `promise-debug`, `object-inspector`) extend a common `DebugPort` class. The UI uses Ember controllers, components (including a virtual-scrolled `InspectorTable`), and services for layout, storage, and port management. The codebase is professionally structured and includes extensive acceptance, integration, and unit tests across multiple Ember versions using `ember-try`. However, it relies heavily on Ember's private/internal APIs (e.g., `Ember.meta`, `_backburner`, `debugRenderTree`) and contains deprecated patterns (classic class syntax, `@observes`), leading to moderate technical drift and maintenance risk as Ember evolves.