Skip to content

Commit 0cb7655

Browse files
Add support for ably-cli in agents header
Note that describing the ably-cli as a wrapper is arguably not correct, it's an application or perhaps a tool, but adding support for a new type is probably a lot of work, and at this stage, has limited value given we simply want a way to track ably-cli usage. The reason it's not correct is in the context of the data plane, ably-cli is not providing an API to end users, and wrapping functionality in an SDK, it is just a tool or app consuming. When it's calling the control plane, then it's not really an SDK as it's just a tool calling the API directly, and it's not a wrapper as it's not wrapping anything. If I categorised ably-cli as an SDK, then we'd also have the problem that the underlying SDK would not be logged as I believe only one SDK value is supported in most reports. This commit also adds instructions for future people who want to make changes to agents to make them aware that agents are duplicated in our analytics pipeline processing.
1 parent 3fc3012 commit 0cb7655

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

protocol/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ The following table adds more contextual detail for some agent identifiers, wher
9393
| ---------- | -------- |
9494
| `ably-asset-tracking-android` | [ably-asset-tracking-android](https://github.com/ably/ably-asset-tracking-android) |
9595
| `ably-asset-tracking-swift` | [ably-asset-tracking-swift](https://github.com/ably/ably-asset-tracking-swift) |
96+
| `ably-cli` | [ably-cli command line CLI too](https://github.com/ably/cli) |
9697
| `ably-flutter` | [ably-flutter](https://github.com/ably/ably-flutter) |
9798
| `ably-ruby-rest` | [ably-ruby](https://github.com/ably/ably-ruby) |
9899
| `android` | [ably-java](https://github.com/ably/ably-java), [ably-dotnet](https://github.com/ably/ably-dotnet) |
@@ -144,6 +145,8 @@ Therefore it is safe to publish without consulting others because they have an e
144145

145146
#### Step 2: Internal
146147

148+
**Go router support**
149+
147150
Once the generated Go code has been updated, update the `ably-common-go` module in the
148151
internal [go-services](https://github.com/ably/go-services) repository by running:
149152

@@ -154,6 +157,10 @@ go get -u github.com/ably/ably-common-go
154157
Open a pull request with the resulting changes to `go.mod` and `go.sum`, and once merged deploy the router
155158
so that it's aware of the newly added agent identifiers.
156159

160+
**Analytics pipeline support**
161+
162+
The agents are replicated in the analytics pipeline that processes agent headers. See [udtf_parse_ably_agent.py](https://github.com/ably/infrastructure/blob/main/terraform/modules/analytics/snowflake/files/functions/udtf_parse_ably_agent.py). Notify the Data / Infrastructure team of the changes in `agents.json` so that support in the analytics data pipeine is added.
163+
157164
### `ablyLibMappings`
158165

159166
The `ablyLibMappings` field in [agents.json](agents.json) provides continuity for SDKs that continue to send the

protocol/agents.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,11 @@
364364
"identifier": "chat-swift",
365365
"versioned": true,
366366
"type": "wrapper"
367+
},
368+
{
369+
"identifier": "ably-cli",
370+
"versioned": true,
371+
"type": "wrapper"
367372
}
368373
],
369374
"ablyLibMappings": {

0 commit comments

Comments
 (0)