ordinary-integration 0.9.0

Integration for Ordinary
<!--
Copyright (C) 2026 Ordinary Labs, LLC.

SPDX-License-Identifier: AGPL-3.0-only
-->

# Integration Logging

Integration logs have a few properties that make them easy to isolate for querying. Using the `Http` protocol config as an example each call to the integration will produce a request and response log.

## Examples

In both of the following examples, we see that our integration is called by an Action with the index of `0` and name of `test_act` (span name `act`).
We can also see that our integration is itentifiable by a span name `int` with an index of `0` and name of `test_int`.

### Request

```jsonc
{
  "ts": "2026-06-22T18:22:28.213316Z",
  "lvl": "INFO",
  "spn": {
    "app": {
      "_": 0,
      "domain": "example.com",
      "host": "localhost:4433",
      "path": "/test",
      "rid": "7ce9fee7-13f6-4c77-916e-ea17be506199"
    },
    "act": {
      "_": 1,
      "i": 0,
      "nm": "test_act",
      "tgr": "Json"
    },
    "int": {
      "_": 2,
      "i": 0,
      "nm": "test_int"
    },
    "http": {
      "_": 3,
      "host": "jsonplaceholder.typicode.com",
      "path": "/posts"
    }
  },
  "fld": {
    "headers": {
      "content-type": "application/json; charset=UTF-8"
    },
    "msg": "req",
    "method": "POST"
  }
}
```

### Response

```jsonc
{
  "ts": "2026-06-22T18:22:28.403310Z",
  "lvl": "INFO",
  "spn": {
    "app": {
      "_": 0,
      "domain": "example.com",
      "host": "localhost:4433",
      "path": "/test",
      "rid": "7ce9fee7-13f6-4c77-916e-ea17be506199"
    },
    "act": {
      "_": 1,
      "i": 0,
      "nm": "test_act",
      "tgr": "Json"
    },
    "int": {
      "_": 2,
      "i": 0,
      "nm": "test_int"
    },
    "http": {
      "_": 3,
      "host": "jsonplaceholder.typicode.com",
      "path": "/posts"
    }
  },
  "fld": {
    "headers": {
      // truncated for brevity...
    },
    "latency": "190ms",
    "msg": "res",
    "status": 201,
    "version": "HTTP/2.0"
  }
}
```