ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Prolems with ExecuteTime (IA0A) custom node - missing AIX_ms

Post new topic  Reply to topic
 Prolems with ExecuteTime (IA0A) custom node - missing AIX_ms « View previous topic :: View next topic » 
Author Message
simon.starkie
PostPosted: Fri May 03, 2002 4:04 pm    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

1. We tried to use ExecuteTime but even though the messages appeared in the expected output queue for the test message flow, there was nothing, apparently, written to the log. We looked in both /tmp and /var/mqsi/log as well as /usr/opt/mqsi/lil. Where is the log file written to?
2. We looked at the ExecuteTime.c source code trying to answer question 1 and found "ccilog" in the Evaluate routine which appears to be where the log is written. But this ccilog thingee is not visible to us in any of the files. We would like to be able to re-compile the ExecuteTime code ourselves. And in an earlier thread I was told that source code changes would be required for WMQI 2.1. anyway. There is no makefile for AIX distributed with the support pack.
3. So I made my own makefile based on previously successful custom nodes I have developed or implemented from support packs. But the source code for ExecuteTime.c at line 28 references AIX_msg/EXECUTETIME_msg.h. This file was not included in the download either. So I made my own AIX_msg directory containing my own MQSIV2_EXECUTETIME.msg with just the header and no messages. Could you please include the MQSIV2_EXECUTETIME.msg file in the downloadable zip file?
4. Even with the above changes, we still get compile errors.
$ make xlc_r -c -qcpluscmt -D _ANSI_C_SOURCE -D _XOPEN_SOURCE_EXTENDED=1 -I /usr/opt/mqsi/include/plugin ExecuteTime.c"ExecuteTime.c", line 394.33: 1506-280 (E) Function argument assignment between types "unsigned short*" and "char*" is not allowed."ExecuteTime.c", line 394.55: 1506-045 (S) Undeclared identifier MSG_NO_MATCHING_LABEL."ExecuteTime.c", line 407.56: 1506-045 (S) Undeclared identifier MSG_TIME_END."ExecuteTime.c", line 433.48: 1506-045 (S) Undeclared identifier MSG_DELTA_TIME.make: 1254-004 The error code from the last command is 1.
Line 394 references the MQSIV2_EXECUTETIME so it's probably because the MQSIV2_EXECUTETIME.msg I created is unexpected (I don't know what it's supposed to look like).
5. Here are the makefile's for the compile of MQSIV2_EXECUTETIME.msg in the AIX_msg sub directory and also the compile of ExecuteTime.c. Let me know if you don't like them.
$ cat makefile
LILNAME = EXECUTETIME
all:
runcat MQSIV2_$(LILNAME) MQSIV2_$(LILNAME).msg
mv MQSIV2_$(LILNAME)_msg.h $(LILNAME)_msg.h

BROKER_NAME=TACIB01
OBJS = ExecuteTime.o
NodeUtils.o
HEADERS = ExecuteTime.lil: ${OBJS}
$(CC) -bM:SRE
-bexpall
-bnoentry
-L${MQSI_ROOT}/lib
-l imbdfplg
-l mqm_r
-o ExecuteTime.lil ${OBJS}
.c.o: $(CC) -c -qcpluscmt
-D _ANSI_C_SOURCE
-D _XOPEN_SOURCE_EXTENDED=1
-I ${MQSI_ROOT}/include/plugin $<
clean: rm -f ${OBJS}
rm -f ExecuteTime.lil

Thanks
Back to top
View user's profile Send private message
kirani
PostPosted: Fri May 03, 2002 4:47 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA


1. the log is written to /tmp/executeTime.txt file. For this, you will have to recompile the plug-in using debug option.

2. cciLog will write logs to Event Viewer/syslog. So, if you just want to refer to the output of the plug-in node, you should look into event viewer/syslog. You need not compile the plug-in source in this case, unless you want to make some other changes.

MQSIV2_EXECUTETIME_msg.h is the message catalog file generated for this plug-in. You will have to follow proper instructions to build this file. WMQI Programming Guide has some information on how to build message catalog for Windows NT/2000 and UNIX platforms.




_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
simon.starkie
PostPosted: Fri May 03, 2002 9:02 pm    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

Thanks Kirani, but I can't quite reconcile some of the things in your reply.
1. Recompile after setting the debug switch. But there are no makefile's at all in the support pack. My point was, shouldn't the support pack contain the necessary makefile's like all the others do(ie the MQGET support pack has makefile's)?
2. cciLog will write logs to Event Viewer/syslog. We are running on AIX. Is the "Event Viewer/syslog" you are referring to the Windows/NT Event Viewer or?
3. I know how to make the MQSIV2_EXECUTETIME_msg.h using the runcat command as previously indicated in the makefile I provided. But this requires a file containing the messages text that the program will be using. Unlike the support pack for MQGET, this support pack does not contain a message file. Should it?
4. Is this support pack OK for use on AIX? Or is it just for Windows/NT? The source code has conditionals for both environments. The PDF implies AIX is supported. But the absence of makefile's raises a question. Is anyone running this support pack in AIX? Have they tried to compile the source code?
Cheers
Back to top
View user's profile Send private message
kolban
PostPosted: Sat May 04, 2002 5:27 am    Post subject: Reply with quote

Grand Master

Joined: 22 May 2001
Posts: 1072
Location: Fort Worth, TX, USA

Here is the Makefile I used for building:

# Makefile for building MQSI V2 nodes
# Neil Koban
# V1.0 2/4/2001
#

MQSI_ROOT=/usr/opt/mqsi
CC=xlc_r
BROKER_NAME=KOLBK
OBJS = ExecuteTime.o
NodeUtils.o
HEADERS = AIX_msg/executeTime_msg.h

EXECUTETIME.lil: ${OBJS}
$(CC) -bM:SRE
-bexpall
-bnoentry
-L${MQSI_ROOT}/lib
-limbdfplg
-o EXECUTETIME.lil ${OBJS}

.c.o:
$(CC) -c -qcpluscmt
-D _DEBUG
-D _ANSI_C_SOURCE
-D _XOPEN_SOURCE_EXTENDED=1
-I ${MQSI_ROOT}/include/plugin $<

clean:
rm -f ${OBJS}
rm -f EXECUTETIME.lil

load:
cd AIX_msg; make
cp AIX_msg/MQSIV2_EXECUTETIME.cat ${MQSI_ROOT}/messages
cp EXECUTETIME.lil ${MQSI_ROOT}/lil

----

Here is the makefile for building the message catalog

LILNAME = EXECUTETIME

all:
runcat MQSIV2_$(LILNAME) MQSIV2_$(LILNAME).msg
mv MQSIV2_$(LILNAME)_msg.h $(LILNAME)_msg.h

---

Here is the msg catalog source

$set EXECUTETIME_1 Mesaages for the EXECCTETIME node for MQSI V2
MSG_DELTA_TIME [{0}:{1}] Time through message flow: {2} milliseconds
MSG_TIME_END [{0}:{1}] Time through message flow from node '{2}' : {3} milliseconds
MSG_NO_MATCHING_LABEL [{0}:{1}] No matching node label '{2}'


Be aware, it was built for MQSI 2.0 ... it will run as-is (the supplied binary) on WMQI 2.1 but will not recompile and run on WMQI 2.1. It is running in compatibility mode only. Code needs changed for it to run correctly on WMQI 2.1.


[ This Message was edited by: kolban on 2002-05-04 06:28 ]

[ This Message was edited by: kolban on 2002-05-04 06:29 ]
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Sun May 05, 2002 9:05 am    Post subject: Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

Hi Neil,
Thanks for the makefiles (almost identical to mine - and I changed mine to match yours). Thanks also for the .msg file.

I was able to re-compile with DEBUG set and can now see the expected time values in /tmp/executeTime.log. The TOEND function produces messages that are less useful than those produced by the TIMESTART and TIMEEND delta's. I have to wonder how much the time are being distorted by the DEBUG logging (just a thought .
The only other problem that remains is where does the output of the cciLog command get written to? That is, where is the file that the ccilog command writes the MSG_DELTA_TIME and MSG_TIME_END messages? As far as I can tell by researching on Google, cciLog is a function that allows you to write to the Windows NT Event Log. But in our case, the ExecuteTime is deployed on AIX, not NT, so I'm not sure how events from AIX would get logged to my NT system. I don't see anything in my NT Event Log. For now, I'm happy with the DEBUG approach but the cciLog issue probably needs to be addressed going forward.

Cheers


[ This Message was edited by: simon.starkie on 2002-05-05 14:06 ]
Back to top
View user's profile Send private message
simon.starkie
PostPosted: Wed May 29, 2002 9:12 am    Post subject: On AIX, the ExecuteTime output is written to Reply with quote

Disciple

Joined: 24 Mar 2002
Posts: 180

as deliverd the ExecuteTime.lil writes to the syslog.user file under /var/log.

This answers the mystery of where the ccilog function writes it's output.
Thanks to one of our developers for spotting this.

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Prolems with ExecuteTime (IA0A) custom node - missing AIX_ms
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.