# How to optimize querying the Dynatrace API to retrieve information about process group instances?

**URL:** <https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236>\
**Category:** Dynatrace API\
**Tags:** dynatrace-api\
**Created:** [June 20, 2024, 4:50pm UTC](https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236 "2024-06-20T16:50:54Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![mrpoppler](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/mrpoppler/32/13452_2.png) [@mrpoppler](https://community.dynatrace.com/u/mrpoppler)\
**Post date:** [June 20, 2024, 4:50pm UTC](https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236/1 "2024-06-20T16:50:54Z")

</div>

I am retrieving process group instances using this kind of query: “/v2/entities?entitySelector=type(process\_group\_instance)&fields=toRelationships,fromRelationships,properties.metadata,properties.softwareTechnologies”;

I am concerned that number of instances it returns is relatively large.

Would be removal of Relationships help with response size? Are the Relationships mandatory to retrieve process group instances? If Relationships can not be removed then what would be query optimization suggestions?

---

<div class="post-metadata">

**Author:** ![mark\_bley](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/mark_bley/32/20954_2.png) [@mark\_bley](https://community.dynatrace.com/u/mark_bley)\
**Post date:** [June 20, 2024, 5:32pm UTC](https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236/2 "2024-06-20T17:32:42Z")

</div>

What is the goal ?

You can just pull pgis with&nbsp;entitySelector=type(process\_group\_instance) as parameter fields is optional.

If you want specific pgis extend the entitySelector with e.g. relationship to a Host, Host group, service, application…

```markup
type(PROCESS_GROUP_INSTANCE),fromRelationships.isProcessOf(type("HOST"),entityName("foo"))

```

Many possibilities…

---

<div class="post-metadata">

**Author:** ![mrpoppler](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/mrpoppler/32/13452_2.png) [@mrpoppler](https://community.dynatrace.com/u/mrpoppler)\
**Post date:** [June 20, 2024, 8:39pm UTC](https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236/3 "2024-06-20T20:39:57Z")

</div>

The goal is to make the query faster.&nbsp; So that result of the query becomes shorter yet it should be sufficient to retrieve entities like business applications. And idea is to remove toRelationships and fromRelationships for that from the query.

---

<div class="post-metadata">

**Author:** ![gopher](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/gopher/32/5728_2.png) [@gopher](https://community.dynatrace.com/u/gopher)\
**Post date:** [June 21, 2024, 4:39am UTC](https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236/4 "2024-06-21T04:39:07Z")

</div>

Hi,&nbsp;  
&nbsp;You can use the fields value to reduce what you pull down and or select  
[Monitored entities API - GET entity type - Dynatrace Docs](https://docs.dynatrace.com/docs/dynatrace-api/environment-api/entity-v2/get-entity-type#response-body-objects)

Example below :

```python
params = {
    "entitySelector": 'type("Process_Group")',
    "fields": "properties.softwareTechnologies,fromRelationships,toRelationships,properties,tags",
    "Api-Token": "dt0c01."
}

```

Hope this helps

---

<div class="post-metadata">

**Author:** ![mark\_bley](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/mark_bley/32/20954_2.png) [@mark\_bley](https://community.dynatrace.com/u/mark_bley)\
**Post date:** [June 21, 2024, 12:37pm UTC](https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236/5 "2024-06-21T12:37:05Z")

</div>

I understand you want to make the query faster, was wondering what is the reason you need to export all the PGIs 🙂

As you noticed the number PGIs is quite huge so I would suggest reducing the fields to the necessary ones, and maybe extract more for specific entities afterwards.

---

<div class="post-metadata">

**Author:** ![Julius\_Loman](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/julius_loman/32/51_2.png) [@Julius\_Loman](https://community.dynatrace.com/u/Julius_Loman)\
**Post date:** [June 21, 2024, 8:10pm UTC](https://community.dynatrace.com/t/how-to-optimize-querying-the-dynatrace-api-to-retrieve-information-about-process-group-instances/46236/6 "2024-06-21T20:10:02Z")

</div>

Agreed, first of all, use [**entitySelector**](https://docs.dynatrace.com/docs/shortlink/api-entities-v2-selector) to query only process group instances you are interested in. (using management zone, process group properties, etc). Secondly select just fields you need.
