# ImqPlugin class · @imqueue/datadog

Source: https://imqueue.org/api/datadog/latest/datadog.imqplugin/
Published: 2026-08-01
Author: @imqueue maintainers (https://github.com/imqueue)
Package: @imqueue/datadog 3.2.0 — generated reference, not hand-written

The `imq` integration, grouping both halves of an RPC call under a single name so that they share configuration and can be switched independently.

**Signature:**

```typescript
export declare class ImqPlugin extends CompositePlugin 
```
**Extends:** CompositePlugin

## Remarks

This is what `tracer.use('imq', ...)` addresses. Being a composite, an option given without a half applies to both, while `client` and `server` target one each:

```typescript
tracer.use('imq', { client: false });     // trace incoming calls only
tracer.use('imq', { service: 'my-api' }); // applies to both halves
```
Registered with the tracer automatically when this package is imported; there is no reason to instantiate it yourself.

## Properties


| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [id](https://imqueue.org/api/datadog/latest/datadog.imqplugin.id/) | `static` | string | Integration name, `'imq'` — the string to pass to `tracer.use()` and the key of the `DD_TRACE_IMQ_ENABLED` environment switch. |
| [plugins](https://imqueue.org/api/datadog/latest/datadog.imqplugin.plugins/) | `static` `readonly` | { client: typeof [ImqClientPlugin](https://imqueue.org/api/datadog/latest/datadog.imqclientplugin/); server: typeof [ImqServerPlugin](https://imqueue.org/api/datadog/latest/datadog.imqserverplugin/); } | The two halves this integration is composed of, which is what makes `{ client: false }` and `{ server: false }` valid options. |

