29 May 2026 12:52 PM
29 May 2026 01:29 PM
Hi,
This is not behaviour using another APIs.
Are you using latest Monaco version? If yes, maybe, I will open a support case.
Best regards
02 Jun 2026 02:50 PM
Hi,
I would not expect Monaco to create a duplicate segment just because the existing segment was manually updated.
However, I would first verify how Monaco identifies this particular segment after the manual change. The local `id` in Monaco is not the same as the Dynatrace object ID, so if the object can no longer be matched correctly, Monaco may treat it as a new configuration instead of updating the existing one.
I would suggest checking:
If this is reproducible with the latest Monaco version, I would open a Dynatrace support case, because creating another segment with the same name sounds risky and not like the expected GitOps/idempotent behavior.
Best regards,
Tomasz
02 Jun 2026 04:06 PM
I tried to check what happen when monaco creates a segment vs creation via the UI.
Segments created via Monaco has a field 'externalId' with a prefix of monaco (eg- monaco-8b94be1f-03b1-3872-89d7-8ac135f5aff2)
But segments created via UI miss the field externalId. Also when a Monaco created segment is updated from the UI, the field externalId is deleted.
Seems Monaco uses the externalId fields to check for an existing segment and then updated it. But deletion of externalId fields seems the reason for Monaco to not find the segments and recreate a new one.
The Monaco download only return the uid. The externalId was visible via swagger.
Tried it with v2.28.5 and v2.28.8
Please let me know in case more details are needed.
03 Jun 2026 12:22 AM
Hi @kumaravel
Yes, this is expected behaviour when segments are manually edited outside of Monaco.
Monaco uses the configuration name as the unique identifier when creating or updating configurations. Monaco configuration YAML file - list of special configuration types — Dynatrace Docs
When you manually edit a segment, the platform assigns it a new ID. When Monaco re-runs, it looks for a configuration matching its tracked identifier — but because the manual edit changed the underlying object ID, Monaco no longer recognises it as the same segment. So it creates a new one with the same name rather than updating the existing one.
i would suggest to use monaco deploy --dry-run before deploying to preview what Monaco intends to create vs. update — this will flag duplicates before they happen.
Thanks,
Sujit
03 Jun 2026 07:58 AM
If this is an expected behaviour then the idempotent behavior cannot be achieved for Segments.
For a segment created by Monaco, any manual edit ideally should not delete the externalId which is a reference for Monaco.
Thanks for the suggestion about using dry-run. But it does not seem a realistic solution to preview the changes and take any action. Once the segment is manually updated, Monaco will always recreate a new one and the old uid cannot be managed via Monaco. This impacts all reference done in other apps.
What do you refer by objectId? I could not find the objectId but instead segments only shows uid which is constant even after manual edit.
I would expect the edit/update action to not delete the externalId until explicitly mentioned.
Featured Posts