Skip to main content
Skip table of contents

Analyzing your TRS Activity with Python

In the latest releases of OSLC Connect for Jira (4.1 and 5.1), there is a new option to download the TRS feed. We created this feature when collaborating with some customers on the load profile of their OSLC Enterprise. While doing so, we felt it would be valuable to show how this information can help you understand your Jira system better.

Basics on TRS

Tracked Resource Sets (TRS) are a way to allow a remote system to track artifacts. It provides the base list of artifacts to be monitored and a change log. The change log is a rolling list of changes for up to 7 days, including Creation, Modification, and Deletion events.

The TRS interface is a REST API that returns XML pages listing elements. In the case of the change log, it also lists the associated event for each component. It is then up to the remote application to read the resources to keep its internal stores up to date.

What we can analyze

TRS does provide a valuable snapshot into the activities of a Jira system. We can observe change rates and change loads. This should allow an enterprise to understand the actions in their Jira system, as well as their impact on the IBM enterprise. It can also help detect suprises, like automations gone a little crazy and modifiying on object over and over again.

Sample Analysis Script

Our analysis script is a simple Python script that takes an OSLC Connect downloaded TRS Archive and provides a summary of events and event rates, as well as a basic plot. We encourage administrators to use these tools to understand TRS and their own enterprise better. Our scripts are not supported features of the product, but rather examples to help you explore and build a deeper understanding.

Example Results

So let’s look at some example results.

Executing the script is relatively simple.

CODE
python trsAnalysis.py TrsFeed_cm_2025-04-21T17_17_52.zip

Textually, it will provide a set of responses

  • The size of the base members (basic monitoring size) and changes (events over the last 7 days)

  • A summary of hourly events to see how heavy or steady the change events are occuring

  • A list of the most often changed artifacts to observe if there is an unnatural number of changes happening on items

  • And an outline of the total number of differnet types of events (Modification, Creation, and Deletion)

In addition, you will have a plot generated that will show the changes over a period of time.

For example ->

image-20250422-150030.png

Or in more active systems, you may see a shorter duration with more active hourly events.

image-20250422-150145.png

And when we looking at TRS feeds for process (projects) we usually see a much calmer and smaller set of changes. Note also that with the process feed, we see a natural rhythm around 1600, which relates to the daily repair event when we publish project changes.

image-20250422-150819.png

Sample Python Code

Here is the sample Python code to review, tune, and improve.

trsAnalysis.py

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.