Horde cooking stats

Hello. We are currently exploring the functionality of Horde. We do not use Perforce and do not plan to use the CI/CD functionality provided by Horde, but we may potentially use the build graph for building/cooking the project.

As I understand it, at the moment build/cooking statistics are only collected when using Horde CI? In the cooking metrics filters, I see Horde_TemplateName, which suggests this. Is it possible to enable statistics from our build agents without major rework?

Hey there!

Thanks for your question - this is actually an area of current development and planning. Whilst Horde is at it’s best when you use it for CI/CD as well as all of it’s other functions, you absolutely can use it in a piecemeal fashion. You can have a look at the analytics functionality here.

I’d also suggest reviewing StudioTelemetry - this is fundamentally the runtime & editor integration of telemetry for all subsystems. Horde can be used as an analytics sink for this data (covered in the aforementioned documentation), but you can alternatively tie into it & push the metrics elsewhere should you chose.

Kind regards,

Julian

Hey Eduard,

This is the place to leave such feedback (and now is the perfect time to as it’s still very much in experimental) - and I’m happy to bring it through to the team and support this type of workflow. It’s absolutely our goal to make sure this works in a piece-meal fashion.

Let me see if I can setup a quick filter group on my end with a very simplistic UBT-Only setup - when I was playing around with this ~4 months ago I was pushing up data to a local Horde server just from my user workflow (so no templateName).

Kind regards,

Julian

Hey Eduard,

Apologies for the delay - I was out at an internal conference. I’ll be reviewing this again today and will reply by end of Tuesday May 27th once I’ve given this a whirl.

Julian

Hey there Eduard,

Apologies again for the delay there - it’s quite the conference time over here. So just to circle back, you should be able to trivially remove the filters specific to “Horde_TemplateName” (in the default-metrics.telemetry.json) and you should be able to obtain data back from the rest calls (as it should be placed within the corresponding Metric connection). This is certainly an admissible practice, but we could document this a bit bitter.

Let me know if you have any further questions.

Kind regards,

Julian

I’m currently using StudioTelemetry, and my question was about using this plugin without fully integrating Horde into all processes. Now I think I’ve figured it out — I can simply edit the metrics in telemetry.json and remove the filters specifying Horde_TemplateName.

However, it’s still not entirely clear to me at which stage the filtering occurs. If a metric doesn’t match any filter, does it still get into the database? After checking the contents of the MongoDB database, I concluded that events not matching the filters do not end up in the database. Therefore, my solution to create my own telemetry.json should work, and I should be able to receive Core.Cooking events on any agent.

If there’s a way to leave feedback on Horde’s functionality, I’d like to note that analytics is a very useful feature that many studios would want, but switching to Horde CI/CD is a major task. It would be great if analytics were not tied to Horde CI/CD. I’m looking forward to Horde’s development — it’s a very promising service.

Hi, did you manage to set up the filters?