Common patterns around identifying integrations with custom user-agent?

13 views
Skip to first unread message

Cooper Marcus

unread,
Jun 18, 2015, 8:12:48 PM6/18/15
to api-...@googlegroups.com
In this doc http://support.metrics.librato.com/knowledgebase/articles/175825-how-to-set-a-custom-user-agent-when-integrating-wi Librato starts off with:

When integrating a new language binding, collector, or third-party service with Librato we recommend setting a User Agent header on each API request that identifies your integration. A custom User Agent allows us to identify those requests made on-behalf of your integration and/or originating from your third-party service.

Then gives more detailed instructions.

How common is this pattern? 

Do you know of any other docs pages that describe the same sort of "identification via user-agent" approach?

Thanks, Cooper

Chris Mullins

unread,
Jun 18, 2015, 11:27:51 PM6/18/15
to api-...@googlegroups.com
I think this is pretty common. 

AWS, for example, has SDK's that do this - all the 3rd party ones and all the official ones all use different Agent headers, including the version number of the SDK. 

Most of the SDK's I've built against REST services do similar. It's really nice on the back end, as you can tell where your traffic is coming from, identify versions and bugs, and generally extract quite a bit more telemetry. 

Custom Headers are another option, but issues with proxies that strip headers and platforms that don't support custom headers quickly arise. 

Now, I wouldn't do this for "Each API" as that seems like overkill. 

Cheers,
Chris
Reply all
Reply to author
Forward
0 new messages