# mongoc_client_pool_set_apm_callbacks()

## Synopsis

    bool
    mongoc_client_pool_set_apm_callbacks (mongoc_client_pool_t *pool,
                                          mongoc_apm_callbacks_t *callbacks,
                                          void *context);

Register a set of callbacks to receive Application Performance Monitoring events.

The `callbacks` are copied by the pool and may be destroyed at any time after. If a `context` is passed, it is the application’s responsibility to ensure `context` remains valid for the lifetime of the pool.

## Parameters

- `pool`: A mongoc_client_pool_t.

- `callbacks`: A mongoc_apm_callbacks_t.

- `context`: Optional pointer to include with each event notification.

## Returns

Returns true on success. If any arguments are invalid, returns false and logs an error.

## Thread Safety

This function can only be called once on a pool, and must be called before the first call to mongoc_client_pool_pop().

See also

Introduction to Application Performance Monitoring