Skip to content

Initial definition of a Transaction Processing System (TPS)#1898

Open
rrschulze wants to merge 32 commits intoopen-telemetry:mainfrom
rrschulze:rrschulze/issue1687_tps
Open

Initial definition of a Transaction Processing System (TPS)#1898
rrschulze wants to merge 32 commits intoopen-telemetry:mainfrom
rrschulze:rrschulze/issue1687_tps

Conversation

@rrschulze
Copy link
Copy Markdown
Member

Fixes #1687

Changes

The PR is based on the input from the Mainframe SIG meetings and is intended to have the discussion to complete the definition of a generic Transaction Processing System. Basing on the generic TPS, we aim to finalize the span definitions for CICS and IMS.

The PR adds the following new components to the semantic conventions:
tps: Introduces new (generic) Transaction Processing System (TPS), an initial set of attributes and defines TPS spans extending the HTTP and RPC servers spans, and uses them for initial definition of server spans for the TPS CICS and IMS available on the mainframe.
ibm: Introduces ibm as name space to represent specific attributes of systems like ibm.cics and ibm.ims (aiming to align with guidance for system names described in #1708

Note: if the PR is touching an area that is not listed in the existing areas, or the area does not have sufficient domain experts coverage, the PR might be tagged as experts needed and move slowly until experts are identified.

Merge requirement checklist

@rrschulze rrschulze requested review from a team as code owners February 11, 2025 09:54
@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Feb 27, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 6, 2025

Closed as inactive. Feel free to reopen if this PR is still being worked on.

@github-actions github-actions bot closed this Mar 6, 2025
@lmolkova lmolkova reopened this Mar 17, 2025
@lmolkova lmolkova removed the Stale label Mar 17, 2025
@lmolkova lmolkova moved this from Untriaged to Awaiting SIG approval in Semantic Conventions Triage Mar 17, 2025
Copy link
Copy Markdown
Member

@mtwo mtwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We created / reviewed this within the mainframe SIG prior to submitting it here. Approving!

Copy link
Copy Markdown

@gshriver gshriver left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, and matches the discussions in SIG group to this point.

<!-- NOTE: THIS FILE IS AUTOGENERATED. DO NOT EDIT BY HAND. -->
<!-- see templates/registry/markdown/attribute_namespace.md.j2 -->

# Ibm
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You probably want IBM here right? You can add the acronym in this file and then it should be all uppercase: https://github.com/open-telemetry/semantic-conventions/blob/main/templates/registry/markdown/weaver.yaml. Also for the other acronyms.

@lmolkova lmolkova moved this from Awaiting SIG approval to Needs More Approval in Semantic Conventions Triage Mar 29, 2025
@github-actions
Copy link
Copy Markdown

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Apr 11, 2025
@rrschulze rrschulze requested a review from a team as a code owner April 18, 2025 04:21
@rrschulze rrschulze removed the Stale label Apr 18, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented May 4, 2025

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label May 4, 2025
@github-actions
Copy link
Copy Markdown

Closed as inactive. Feel free to reopen if this PR is still being worked on.

@github-actions github-actions bot closed this May 12, 2025
@joaopgrassi joaopgrassi reopened this May 12, 2025
@joaopgrassi joaopgrassi removed the Stale label May 12, 2025
rrschulze added a commit to rrschulze/semantic-conventions that referenced this pull request May 12, 2025
brief: >
This group defines generic attributes for Transaction Processing Systems (TPS).
attributes:
- id: tps.system
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should it be tps.name? TPS already has system in it.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the current spec of db and messaging, it feels inconsistent to skip 'system'. How about going with tps.system.name?

- id: tps.region.id
type: string
stability: experimental
brief: "Runtime environment within the Transaction Processing System"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this does not seem to match attribute name

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated comment.

type: string
stability: experimental
brief: Determines the type of commit mode processing that IMS performs.
examples: ['0', '1']
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should it be an enum?

requirement_level: required
- ref: tps.transaction.id
requirement_level: required
- ref: tps.region.id
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should it be a resource attribute instead?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lmolkova you're right about that. This needs to be identifying attribute of a tps.region entity (on z/OS). Let me take this back to the mainframe SIG.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moving tps.region.id into a tps entity for the transaction processing system.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 4, 2025

This PR was marked stale due to lack of activity. It will be closed in 7 days.

@github-actions github-actions bot added the Stale label Jun 4, 2025
@lmolkova lmolkova removed the Stale label Jan 26, 2026
@lmolkova lmolkova moved this from Needs More Approval to Awaiting codeowners approval in Semantic Conventions Triage Jan 26, 2026
@lmolkova lmolkova reopened this Jan 26, 2026
@github-actions
Copy link
Copy Markdown

This PR has been labeled as stale due to lack of activity. It will be automatically closed if there is no further activity over the next 7 days.

@github-actions github-actions bot added the Stale label Feb 17, 2026
@github-actions github-actions bot closed this Feb 25, 2026
@lmolkova lmolkova reopened this Mar 2, 2026
@github-actions github-actions bot removed the Stale label Mar 3, 2026
@rrschulze
Copy link
Copy Markdown
Member Author

Will discuss PR in today's Semantic Conventions SIG call.

@lmolkova lmolkova moved this from Awaiting codeowners approval to Needs More Approval in Semantic Conventions Triage Mar 9, 2026
stability: development
brief: 'This document defines semantic conventions for a server spans of Transaction Processing Systems'
note: |
**Span name** SHOULD be `{tps.system.name} {tps.transaction.id}`.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ptal at the span guidance - https://github.com/open-telemetry/semantic-conventions/blob/main/docs/how-to-write-conventions/README.md#naming-pattern - this is best practice, low-cardinality of a span name is arequirement

- ref: tps.program.name
- ref: tps.unit_of_work.id
- ref: tps.connection.name
- ref: tps.facility.type
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please add error.type


**Status:** ![Development](https://img.shields.io/badge/-development-blue)

This document defines semantic conventions for a server spans of Transaction Processing Systems
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe polish this to describe what this span represents

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SIG discussion:

  • IBM and Oracle are two systems that would implement this
  • Oracle is not involved at the moment
  • If it's unlikely to get a second system to support this (or review and bless), it's better to do ibm or mainframe-specific convention

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lmolkova we had a discussion in the Mainframe SIG. Having an ibm namespace is probably not a good idea.

  1. there are multiple operating systems and servers sold by IBM that could create some confusion
  2. There are multiple vendors that provide middleware and operating systems that run on the IBM servers
  3. There is a lot of synergy between the mainframe capabilities, for example virtualization, database, transaction processing, messaging, with other server architectures
    As a result, the conclusion of the sig is that the high level qualifier should be closer to the z server technology than to ibm itself.

- id: entity.tps
type: entity
stability: development
name: tps
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, this would be more precise an future-proof

Suggested change
name: tps
name: tps.region

@github-actions
Copy link
Copy Markdown

This PR has been labeled as stale due to lack of activity. It will be automatically closed if there is no further activity over the next 7 days.

@github-actions github-actions bot added the Stale label Mar 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Needs More Approval

Development

Successfully merging this pull request may close these issues.

Add initial Mainframe Semantic Conventions

8 participants