Source map upload APIedit
You must enable RUM support in the APM Server for this endpoint to work.
The APM Server exposes an API endpoint to upload source maps for real user monitoring (RUM). See the create and upload source maps guide to get started.
Upload endpointedit
Send a HTTP POST
request with the Content-Type
header set to multipart/form-data
to the source map endpoint:
http(s)://{hostname}:{port}/assets/v1/sourcemaps
Request Fieldsedit
The request must include some fields needed to identify source map
correctly later on:
-
service_name
-
service_version
-
sourcemap
- must follow the Source map revision 3 proposal spec and be attached as afile upload
. -
bundle_filepath
- the absolute path of the final bundle as it is used in the web application
You can configure an API key or secret token to restrict sourcemap uploads.
How source maps are appliededit
APM Server attempts to find the correct source map for each stack trace frame
in an event.
To do this, it tries the following:
-
Compare the event’s
service.name
with the source map’sservice_name
-
Compare the event’s
service.version
with the source map’sservice_version
-
Compare the stack trace frame’s
abs_path
with the source map’sbundle_filepath
If a source map is found, the stack trace frame
attributes filename
, function
, line number
, and column number
are overwritten,
and abs path
is cleaned to be the shortest path name equivalent to the given path name.
If multiple source maps are found,
the one with the latest upload timestamp is used.
Exampleedit
Example source map request including an optional secret token "mysecret":
curl -X POST http://127.0.0.1:8200/assets/v1/sourcemaps \ -H "Authorization: Bearer mysecret" \ -F service_name="test-service" \ -F service_version="1.0" \ -F bundle_filepath="http://localhost/static/js/bundle.js" \ -F sourcemap=@bundle.js.map