Showing results for 
Show  only  | Search instead for 
Did you mean: 

Getting metrics via API


Hi, I want to get some metrics from the dynatrace but I'm not sure they belong to which version V1 or V2? Can anyone help me with finding the correct address for getting the following metrics:

memory usage(service and process), CPU usage(service and process), throughput, network traffic, responsiveness, network connectivity and data round trip time


DynaMight Champion
DynaMight Champion

Hi @infotech ,

it's not relevant if you use APIv1 or APIv2. All metrics are available on both API versions, just in a different way and possibilities how to get them.

You can use the "Metric" browser in Dynatrace to find the metric IDs for the ones you want to query. For example a generic memory usage of processes can be found with this ID:




Certified Dynatrace Master, Dynatrace Partner -

Hi @r_weber 


https://"mine"  token"&includeData=true&aggregationType=avg&entity=PROCESS_GROUP_INSTANCE-BD475E0A43F03373

I entered the above URL but it returned:

{"error":{"code":404,"message":"Timeseries id com.dynatrace.builtin:tech.generic.cpu.usage is not valid"}}  


I got the same error for:

 https://"mine"  token"&includeData=true&aggregationType=avg&entity=PROCESS_GROUP_INSTANCE-BD475E0A43F03373


I can also see throughput for a service in Dynatrace but when I enter its entity, again I receive the same error!

DynaMight Champion
DynaMight Champion

Hi @infotech ,

the metric ID is "builtin:tech.generic.cpu.usage" not "com.dynatrace.builtin:...."
With that it should work. But I also recommend to using the V2 API for anything new you design, it provides some more nice features.




Certified Dynatrace Master, Dynatrace Partner -

For response time , the only metric that I could successfully receive from the API, I entered "com.dynatrace...." and it worked so I thought maybe I need to enter that part for all of the metrics. I just deleted that part and still got the same error!

DynaMight Guru
DynaMight Guru


If you try it out from the web interface:  API v1

It will generate the curl command from the selections that you make, so it will be easier to figure out what is wrong.

Antonio Sousa

Thank you, I went to that page and under "​/metrics​/{metricKey} Gets the descriptor of the specified metric" entered "tech.generic.mem.usage" but it returned a 404 error! Do I need to add anything else in that input box? 

If you are using /metrics you are using APIv2. Beware that the synthax for v1 & v2 differ for metrics.

Now, if you want the values from the metrics, you should use /metrics/query

Then, you should enter builtin:tech.generic.mem.usage in metricSelector


Then click Execute, and you should get the values, and some curl like:
curl -X GET "" -H "accept: application/json; charset=utf-8" -H "Authorization: Api-Token YOUR_API_TOKEN"


Antonio Sousa

Hi again, 

I could get the data from V2 but unfortunately, it lacks information such as display name, aggregation types and I need them as well. Also, I cannot get the values for only one specific entity although I added the entity id for my process. 

Hi @AntonioSousa 

Can you help me with the above problem?


Can anyone help me with this issue?

@AntonioSousa @r_weber 


Regarding the information that you are lacking, you might need to make other API calls. That is typically the case when you get Entity codes in the JSON replies, and you want to get detailed information about those entities.

Regarding the second part of your question, it would be important for you to post here the API call you are invoking (please do not include sensitive information, eg. url & API token).

Antonio Sousa


So do you know which API I should call?

this is what works but I need to get the specific entity information not all of them, I entered the entity id but still get the same values! 


Thank you 

Hi @infotech 

You need to add the process name you are looking for to the enttitySelector.

In order to do taht you can go to the data explorer select Process CPU usage metric, split by process and in the filter pick the you are looking for.


Then go to the code tab and copy the entitySelector part:




dynatrace certificated professional - dynatrace master partner - Matrix Soft Ware Division - Israel

If you mean something like this: 

I did add the entity selector as well before replying to the above post but it returns error code 400

Go to the rest api explorer, under Environment API v2 find metric/query entry and add your metric: builtin:tech.generic.cpu.usage


go to the selector filed and add type and your process ID as type("PROCESS_GROUP_INSTANCE"),entityId("PROCESS_GROUP_INSTANCE-XXXXXXXXX")  


click on the execute button and you will get the response.

Then copy from the curl or url fields the whole request and paste it where you need it, this should work as a charm.



dynatrace certificated professional - dynatrace master partner - Matrix Soft Ware Division - Israel

Still got the same error!



What did you put in selector filed? can you paste it here please?

dynatrace certificated professional - dynatrace master partner - Matrix Soft Ware Division - Israel

What I got from data explorer:


Try this please:



dynatrace certificated professional - dynatrace master partner - Matrix Soft Ware Division - Israel

Thank you very much Yosi, it works for now but I should add it to my code to see if it gives me the desired fields. Unfortunately, I still cannot get the display name and aggregation type from it, but I really appreciate your help.

Your are more than welcome @infotech 

For entity name use 




Regarding aggregation you can add transformation after the metric name 



Check if resolution can give you any additional help


All the best and stay safe


dynatrace certificated professional - dynatrace master partner - Matrix Soft Ware Division - Israel

Featured Posts