Skip to content

Commit 1743ebf

Browse files
committed
Add the OTel usage metrics for MQ 943
1 parent 11a38c2 commit 1743ebf

File tree

14 files changed

+188
-7
lines changed

14 files changed

+188
-7
lines changed

CHANGES.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22
History (newest at top)
33
=======================
44

5+
xxx 2025 (v5.5.2)
6+
* Update for MQ 9.4.3
7+
* Many new fields in QQST and QMST structures report on
8+
OTel activity (not the OTel records themselves though)
9+
510
Oct 2024 (v5.5.1)
611
* Update for MQ 9.4.1
712
* Some QESD fields renamed to match product changes

bin/aix/convH

8.13 KB
Binary file not shown.

bin/aix/mqsmfcsv

-297 KB
Binary file not shown.

bin/linux/convH

-48 Bytes
Binary file not shown.

bin/linux/mqsmfcsv

3.96 KB
Binary file not shown.

bin/win/mqsmfcsv.exe

3.5 KB
Binary file not shown.

src/M

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@ plat=`uname`
44

55
if [ -z "$VERS" ]
66
then
7-
VERS="941"
7+
VERS="943"
88
fi
99

1010
if [ "$plat" = "AIX" ]
1111
then
12-
flags="-q64 -qmaxmem=-1 $CCEXTRAFLAGS -D PLATFORM_AIX"
13-
cc="xlc"
12+
# flags="-q64 -qmaxmem=-1 $CCEXTRAFLAGS -D PLATFORM_AIX"
13+
# cc="xlc"
14+
flags="-Wno-pragma-pack $CCEXTRAFLAGS -D PLATFORM_AIX"
15+
cc="/opt/IBM/openxlC/17.1.1/bin/ibm-clang_r"
1416
targdir="../bin/aix"
1517
optim="-O3"
1618
elif [ "$plat" = "Darwin" ]

src/Makefile.gcc.win

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ CC=i686-w64-mingw32-gcc
33
# CFLAGS= -I. -m32 -fpack-struct=8 -DPLATFORM_WINDOWS
44
CFLAGS= -I. -m32 -DPLATFORM_WINDOWS
55
PLATFLAGS=
6-
VERS=941
6+
VERS=943
77
SRC = mqsmf.c \
88
smfDDL.c \
99
smfDate.c \

src/Makefile.win

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
CFLAGS=-nologo /D_CRT_SECURE_NO_WARNINGS /Zp1 /J /O2 /DPLATFORM_WINDOWS
2-
VERS=941
2+
VERS=943
33
SRC = mqsmf.c \
44
smfDDL.c \
55
smfDate.c \

src/mqsmfstrucU.h

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* This file was generated from cqsdsmfc.h version 941
2+
* This file was generated from cqsdsmfc.h version 943
33
* by the convH program (convH64.c) in the src directory
44
* Do not try to edit this header manually.
55
*
@@ -612,6 +612,31 @@ int64_t qmstspp;
612612
int64_t qmstsnp;
613613
int64_t qmstpbp;
614614
int64_t qmstnbp;
615+
uint64_t qmstocpa;
616+
uint64_t qmstocga;
617+
uint64_t qmstoahc;
618+
uint64_t qmstocpd;
619+
uint64_t qmstocmp;
620+
uint64_t qmstocgd;
621+
uint64_t qmstocps;
622+
uint64_t qmstocgs;
623+
uint64_t qmstoscs;
624+
uint64_t qmstosps;
625+
uint64_t qmstosns;
626+
uint64_t qmstocda;
627+
uint64_t qmstospl;
628+
uint64_t qmstoscl;
629+
uint64_t qmstosfs;
630+
uint64_t qmstosok;
631+
uint64_t qmstosfr;
632+
uint64_t qmstosfc;
633+
uint64_t qmstotso;
634+
uint64_t qmstotsr;
635+
uint64_t qmstotsc;
636+
uint64_t qmstotpu;
637+
uint64_t qmstotpw;
638+
uint64_t qmstotpd;
639+
int32_t qmstotsk;
615640
} qmst;
616641
#define QMSTIDV 0xD40F
617642
#define QMSTEYEV "QMST"
@@ -731,6 +756,21 @@ uint64_t qqstset;
731756
uint64_t qqstexpr;
732757
uint64_t qqstrbpt;
733758
uint64_t qqstrbgt;
759+
uint64_t qqstocpa;
760+
uint64_t qqstocga;
761+
uint64_t qqstoahc;
762+
uint64_t qqstocpd;
763+
uint64_t qqstocmp;
764+
uint64_t qqstocgd;
765+
uint64_t qqstocps;
766+
uint64_t qqstocgs;
767+
uint64_t qqstoscs;
768+
uint64_t qqstosps;
769+
uint64_t qqstosns;
770+
uint64_t qqstocda;
771+
uint64_t qqstospl;
772+
uint64_t qqstoscl;
773+
uint64_t qqstosfs;
734774
} qqst;
735775
#define QQSTIDV 0xD80F
736776
#define QQSTEYEV "QQST"

src/mqsmfstrucW.h

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* This file was generated from cqsdsmfc.h version 941
2+
* This file was generated from cqsdsmfc.h version 943
33
* by the convH program (convH64.c) in the src directory
44
* Do not try to edit this header manually.
55
*
@@ -612,6 +612,31 @@ int64_t qmstspp;
612612
int64_t qmstsnp;
613613
int64_t qmstpbp;
614614
int64_t qmstnbp;
615+
uint64_t qmstocpa;
616+
uint64_t qmstocga;
617+
uint64_t qmstoahc;
618+
uint64_t qmstocpd;
619+
uint64_t qmstocmp;
620+
uint64_t qmstocgd;
621+
uint64_t qmstocps;
622+
uint64_t qmstocgs;
623+
uint64_t qmstoscs;
624+
uint64_t qmstosps;
625+
uint64_t qmstosns;
626+
uint64_t qmstocda;
627+
uint64_t qmstospl;
628+
uint64_t qmstoscl;
629+
uint64_t qmstosfs;
630+
uint64_t qmstosok;
631+
uint64_t qmstosfr;
632+
uint64_t qmstosfc;
633+
uint64_t qmstotso;
634+
uint64_t qmstotsr;
635+
uint64_t qmstotsc;
636+
uint64_t qmstotpu;
637+
uint64_t qmstotpw;
638+
uint64_t qmstotpd;
639+
int32_t qmstotsk;
615640
} qmst;
616641
#define QMSTIDV 0xD40F
617642
#define QMSTEYEV "QMST"
@@ -731,6 +756,21 @@ uint64_t qqstset;
731756
uint64_t qqstexpr;
732757
uint64_t qqstrbpt;
733758
uint64_t qqstrbgt;
759+
uint64_t qqstocpa;
760+
uint64_t qqstocga;
761+
uint64_t qqstoahc;
762+
uint64_t qqstocpd;
763+
uint64_t qqstocmp;
764+
uint64_t qqstocgd;
765+
uint64_t qqstocps;
766+
uint64_t qqstocgs;
767+
uint64_t qqstoscs;
768+
uint64_t qqstosps;
769+
uint64_t qqstosns;
770+
uint64_t qqstocda;
771+
uint64_t qqstospl;
772+
uint64_t qqstoscl;
773+
uint64_t qqstosfs;
734774
} qqst;
735775
#define QQSTIDV 0xD80F
736776
#define QQSTEYEV "QQST"

src/sizes/sizes.master.943

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
q5st : 672
2+
qcct : 64
3+
qct_dsp : 36
4+
qct_adp : 32
5+
qct_ssl : 48
6+
qct_dns : 48
7+
qcst : 324
8+
qest : 4104
9+
qesd : 336
10+
qist : 80
11+
qis1 : 104
12+
qjst : 720
13+
qlst : 32
14+
qmac : 48
15+
qmst : 300
16+
qpst : 104
17+
qqst : 672
18+
qsgm : 48
19+
qsph : 88
20+
qsrs : 232
21+
qsst : 72
22+
qtst : 96
23+
qwac : 176
24+
qwhc : 92
25+
qwhs : 52
26+
wtas : 2344
27+
wtid : 208
28+
qwst : 28
29+
qws0 : 96
30+
qws1 : 72
31+
qws5 : 16
32+
qws8 : 16
33+
qws9 : 16
34+
qwsx : 48
35+
qwas : 28
36+
qwa0 : 56
37+
wq : 2800
38+
wq->maxqdpth: 588
39+
wq->z__001 : 594
40+
qqst->qqstdpth : 80

src/t115/printQMST.c

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,39 @@ void printQMST(qmst *p)
4848
}
4949
#endif
5050

51+
#if CSQDSMF_VERSION >= 943
52+
// MQW 943 introduced OpenTelemetry tracing for applications via
53+
// SMF. As part of that, there are lots of new metrics.
54+
if (conv16(p->qmstll) > offsetof(qmst,qmstocpa))
55+
{
56+
ADDU64("Otel_Prop_Put", p->qmstocpa);
57+
ADDU64("Otel_Prop_Get", p->qmstocga);
58+
ADDU64("Otel_Disc_Put", p->qmstoahc);
59+
ADDU64("Otel_Inval_Put", p->qmstocpd);
60+
ADDU64("Otel_Max_Props_Put", p->qmstocmp);
61+
ADDU64("Otel_Inval_Get", p->qmstocgd);
62+
ADDU64("Otel_State_Trunc_Put",p->qmstocps);
63+
ADDU64("Otel_State_Trunc_Get",p->qmstocgs);
64+
ADDU64("Otel_Spans_Consumer", p->qmstoscs);
65+
ADDU64("Otel_Spans_Producer", p->qmstosps);
66+
ADDU64("Otel_Nosample_Put", p->qmstosns);
67+
ADDU64("Otel_Disc_Get", p->qmstocda);
68+
ADDU64("Otel_Span_Limit_Producer", p->qmstospl);
69+
ADDU64("Otel_Span_Limit_Consumer", p->qmstoscl);
70+
ADDU64("Otel_Span_Limit_Storage", p->qmstosfs);
71+
ADDU64("Otel_Span_Success", p->qmstosok);
72+
ADDU64("Otel_Span_Failed", p->qmstosfr);
73+
ADDU64("Otel_Span_Failed_Capacity",p->qmstosfc);
74+
ADDU64("Otel_SMF_Success", p->qmstotso);
75+
ADDU64("Otel_SMF_Failed", p->qmstotsr);
76+
ADDU64("Otel_SMF_Failed_Capacity", p->qmstotsc);
77+
ADDSTCK("Otel_CPU_Time", p->qmstotpu);
78+
ADDSTCK("Otel_Wait_Work_Time", p->qmstotpw);
79+
ADDSTCK("Otel_Wait_SMF_Time", p->qmstotpd);
80+
ADDS32("Otel_EmissionTasks", p->qmstotsk);
81+
}
82+
#endif
83+
5184
SMFPRINTSTOP;
5285

5386
return;

src/t115/printQQST.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,27 @@ void printQQST(qqst *p)
145145
}
146146
#endif
147147

148+
#if CSQDSMF_VERSION >= 943
149+
if (conv16(p->qqstll)>offsetof(qqst,qqstocpa))
150+
{
151+
ADDU64("Otel_Prop_Put", p->qqstocpa);
152+
ADDU64("Otel_Prop_Get", p->qqstocga);
153+
ADDU64("Otel_Disc_Put", p->qqstoahc);
154+
ADDU64("Otel_Inval_Put", p->qqstocpd);
155+
ADDU64("Otel_Max_Props_Put", p->qqstocmp);
156+
ADDU64("Otel_Inval_Get", p->qqstocgd);
157+
ADDU64("Otel_State_Trunc_Put",p->qqstocps);
158+
ADDU64("Otel_State_Trunc_Get",p->qqstocgs);
159+
ADDU64("Otel_Spans_Consumer", p->qqstoscs);
160+
ADDU64("Otel_Spans_Producer", p->qqstosps);
161+
ADDU64("Otel_Nosample_Put", p->qqstosns);
162+
ADDU64("Otel_Disc_Get", p->qqstocda);
163+
ADDU64("Otel_Span_Limit_Producer", p->qqstospl);
164+
ADDU64("Otel_Span_Limit_Consumer", p->qqstoscl);
165+
ADDU64("Otel_Span_Limit_Storage", p->qqstosfs);
166+
}
167+
168+
#endif
148169
SMFPRINTSTOP;
149170

150171
return;

0 commit comments

Comments
 (0)