Hi! It's great that Phoenix has retention policies in place now. I was wondering whether it was possible to somehow exclude certain specific traces from a project policy. For instance by being able to move/copy a trace from a project with a short retention to a project with a longer retention? This would be useful in order to retain specific important cases longer.
Phoenix does not support moving or copying traces between projects to change their retention policy. Traces are unique and immutable to a project once ingested; logging the same trace to another project will not duplicate it there. The only workaround is to change the trace or span IDs before ingesting into a different project, effectively creating a new trace instance in the target project with its own retention policy. This is a manual process and not a built-in feature for selective retention or trace migration between projects. See GitHub issue #3645 for details and workarounds.Would you like more detail on how to implement this workaround or manage retention policies per project?Sources: - GitHub issue #3645
馃挕聽Hint: Mention RunLLM in the thread for followups.
Currently I'm actually sending in traces twice into different projects (with updated span-ids), but this brings more complexity in the application logic. So I was looking for a more elegant solution to mark retention per trace.
Great! Just to double check: should I focus my feature request to somehow have the ability exclude specific traces from their related retention policy? Or focus already on the proposed solution of being able to copy traces between projects?
Jasper H. - just a thought but if you have a means to distinguish these traces (either through annotations or metadata) there might be a way for you to pull this data out and either put them in a different project via the client or just store them in cold storage. Just a thought to unblock you.
Thanks! There are indeed annotations with which I can distinguish the spans, but I didn't see any way to retrieve the complete trace belonging to a specific annotated span through the API.
