Instance size logging / monitoring

I am trying to debug an instance size issue and would like to log/monitor the instance size during process execution.
I wanted to simply logMessage it and monitor it in Studio but cannot find an appropriate API in the Fuego Catalog, something like...
logMessage("current instance size = " + Fuego.Papi.Instance.size); Or something similar.
But no such size attribute exists.
Any recommendations as to the best way to achieve this logging/monitoring?
Thanks.

Hi Michael,
There's an engine setting (both on Studio and Enterprise) for the maximum allowable size of instance variables.
You have a few choices:
1. you can bump the max instance size setting on Studio and Enterprise (not a fan of this)
2. you can change the offending instance variable(s) to be "Separated" or
3. you can look at your variable and see if it contains information rarely accessed and possibly should be retrieved from a database.
good to hear from you,
Dan

Similar Messages

  • Alert log monitoring problem

    Hi guys!
    I have found good simple script for alert log monitoring BUT it doesnt shows date and time. How to format it so that i could see date and time as well in log output?
    +#!/bin/sh+
    +#GLOBS+
    ALERT="ORA-";
    LOGFILE=/path/to/my/alert_X.log
    MYFILE=/home/user/test.log
    +##+
    +#get the errors out of the logfile.+
    grep -h "$ALERT" $LOGFILE >> $MYFILE
    +#count number of lines in myfile, and print.+
    +VAR=`wc -l $MYFILE | awk -F" " '{print $1}'`+
    +#echo $VAR+
    +# if the amount of lines is greater than 0, then cat the file and send it to me. if not then echo all clear.+
    +#size variable is the number of errors the last time the script ran+
    +size=`wc -l test.last | awk -F" " '{print $1}'`+
    echo $size
    +# if the amount of lines is greater than 0, then cat the file and send it to me. if not then echo all clear+
    +if [[ $VAR -gt $size ]] ; then+
    cat $MYFILE | mail -vs "oralert" [email protected] ;
    else
    echo "All clear.."
    fi;
    rm test.last
    mv test.log test.last
    touch test.log

    The alert_log is know to first put the date of the message into it, and then on the next line the ORA- error message.
    So in the case you would find an ORA-error here, then what is the problem into going into the file and start looking at what time it occured.
    Otherwise you would have to modify the script in such way that it will get more info than a 'grep' at the moment it finds the error, like using "grep -l" option, that simply matches the lines.
    Then a while loop in the script could "walk" trough these lines and get the surrounding lines around that line number from the alert_log.
    But, again, if an error pops up, you do want to go into the alert-file, looking up all given info e.g. about the object(s) involved, the users, if a tracefile was generated...etc,etc,.
    FJFranken

  • Need help in creating a 'Generic txt log' monitor

    Hi
    We require some help in creating a 'Generic txt log' monitor.
    In a txt-log a system is writing log-entries of a job.
    When the job is running successfully, the entries is like this:
    First line: CRM VISMA Import - Start of job execution
    Second line: CRM VISMA Import - Job execution finished
    When the job is NOT running successfully, the entries are like:
    First line: CRM VISMA Import - Start of job execution
    Second line <this could be anything>
    So, how to we create a monitor that trigger an alert if
    First line = "CRM VISMA Import - Start of job execution"
    and second line is NOT "CRM VISMA Import - Job execution finished"
    And closing the alert if the entries are once again gets:
    First line: CRM VISMA Import - Start of job execution
    Second line: CRM VISMA Import - Job execution finished
    Thanks in advance
    /Peter

    You may consider using script monitor, below is the coding of script section:
    Assumption: the file is stored in c:\temp\AppLog.txx. You should modify the file path for your own situation
    Dim oAPI, oBag
    dim strComputer, objWMIService, PerfProcess,Perf, PerfPro
    Dim PerfMems,PerfMem,Mem
    Set oAPI=CreateObect("MOM.ScriptAPI")
    Set oBag=oAPI.CreatePropertyBag()
    Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\temp\AppLog.txt",1)
    Dim strLine,PreLine
    Dim jobFail
    JobFail=false
    do while not objFileToRead.AtEndOfStream
     strLine = objFileToRead.ReadLine()
     if PreLine<>"" then
                if strLine<>"CRM VISMA Import - Job execution finished" then
                   JobFail=true
                else
                   JobFail=false
                end if
                PreLine=""
             end if
     if strLine="CRM VISMA Import - Start of job execution" then
        PreLine=strLine
     end if
    loop
    objFileToRead.Close
    Set objFileToRead = Nothing
    If JobFail then
     Call oBag.AddValue("JobFail", "Yes")
    else
     Call oBag.AddValue("JobFail", "NO")
    end if
    Call OAPI.Reten(oBag)
    Roger

  • 11.5.10 INSTANCE에서 FRD LOG 생성하는 방법

    제품: AOL
    작성날짜 : 2006-05-11
    11.5.10 INSTANCE에서 FRD LOG 생성하는 방법
    ==========================================
    PURPOSE
    11.5.10 UI Forms에서 발생하는 issue 해결 도움을 위해 Support 및
    Development가 이용하는 FRD Trace log 생성하는 방법을 알아본다.
    Explanation
    11.5.10 instance에서 FRD를 생성하기 위해 아래 steps을 따른다.
    1.Apps user로 Unix session instance에 login 한다.
    모든 환경 변수를 display 하기 위해 set command 이용한다.
    Find the variable “FORMS60_TRACE_PATH”
    이 directory path는 FRD file 생성에 이용되며,아래 설명되는 ICX Profile
    URL의 한 부분이다.
    2.Application의 System Administrator responsibility에 login 한다.
    3.아래 profile을 User Level에 추가,본인의 "host.domain.country”과
    "FORMS60_TRACE_PATH"은 제외한다.
    ICX: Forms Launcher = http://host.domain.com:8000/dev60cgi/f60cgi?
    &record=collect&log=/forms60_trace_path/Your_Name.FRD.log
    본인의 host.domain.com을 위에 대신 넣고,“&log=”directory section 엔
    당신의 FORMS60_TRACE_PATH를 입력한다.
    개인의 capture를 위해 USERNAME.FRD.log를 이용한다.
    11.5.10 에서는 Security 이유로 logging directory가 usr_dump_dest에서
    FORMS60_TRACE_PATH 환경 변수로 변경되었다.
    "&record" 시작 부분에 "?play="가 없어졌으며,"f60cgi?"에 "/"도 없다.
    Directory에 접근하거나 login을 위해 Putty나 다른 ftp connection
    software를 이용해야만 하고,FRD file을 unix directory에서 개인 PC로
    ftp할 필요가 있다.
    4.Application을 lotout, OM super user로 다시 login 한다.
    5.Login 하면 'Logging FRD' message를 볼 수 있을 것이다.
    6.FRD log 생성을 위해 필요한 forms navigations을 실행한다.
    7.FRD logging이 끝나면 FRD file을 close 하기 위해 application을
    logout 하고, local PC에 생성된 FRD를 ftp 한다.
    8.FRD 생성후에는 performance 문제가 있으므로 본인의 이름으로 setting
    한 profile "ICX: Forms Launcher" 값을 remove 한다.
    이 profile이 있으면 매번 login시마다 FRD가 실행되게 된다.
    Reference Documents
    Note 335872.1

    제품: AOL
    작성날짜 : 2006-05-11
    11.5.10 INSTANCE에서 FRD LOG 생성하는 방법
    ==========================================
    PURPOSE
    11.5.10 UI Forms에서 발생하는 issue 해결 도움을 위해 Support 및
    Development가 이용하는 FRD Trace log 생성하는 방법을 알아본다.
    Explanation
    11.5.10 instance에서 FRD를 생성하기 위해 아래 steps을 따른다.
    1.Apps user로 Unix session instance에 login 한다.
    모든 환경 변수를 display 하기 위해 set command 이용한다.
    Find the variable “FORMS60_TRACE_PATH”
    이 directory path는 FRD file 생성에 이용되며,아래 설명되는 ICX Profile
    URL의 한 부분이다.
    2.Application의 System Administrator responsibility에 login 한다.
    3.아래 profile을 User Level에 추가,본인의 "host.domain.country”과
    "FORMS60_TRACE_PATH"은 제외한다.
    ICX: Forms Launcher = http://host.domain.com:8000/dev60cgi/f60cgi?
    &record=collect&log=/forms60_trace_path/Your_Name.FRD.log
    본인의 host.domain.com을 위에 대신 넣고,“&log=”directory section 엔
    당신의 FORMS60_TRACE_PATH를 입력한다.
    개인의 capture를 위해 USERNAME.FRD.log를 이용한다.
    11.5.10 에서는 Security 이유로 logging directory가 usr_dump_dest에서
    FORMS60_TRACE_PATH 환경 변수로 변경되었다.
    "&record" 시작 부분에 "?play="가 없어졌으며,"f60cgi?"에 "/"도 없다.
    Directory에 접근하거나 login을 위해 Putty나 다른 ftp connection
    software를 이용해야만 하고,FRD file을 unix directory에서 개인 PC로
    ftp할 필요가 있다.
    4.Application을 lotout, OM super user로 다시 login 한다.
    5.Login 하면 'Logging FRD' message를 볼 수 있을 것이다.
    6.FRD log 생성을 위해 필요한 forms navigations을 실행한다.
    7.FRD logging이 끝나면 FRD file을 close 하기 위해 application을
    logout 하고, local PC에 생성된 FRD를 ftp 한다.
    8.FRD 생성후에는 performance 문제가 있으므로 본인의 이름으로 setting
    한 profile "ICX: Forms Launcher" 값을 remove 한다.
    이 profile이 있으면 매번 login시마다 FRD가 실행되게 된다.
    Reference Documents
    Note 335872.1

  • Assuring a single instance of a monitor process with DB locks?

    I am developing an application with multiple modules and my customers would like to be able to run the modules on different servers if they wish to do so because of load. There are a couple "monitor" threads which implement java.util.Timer and java.util.TimerTask to periodically check certain files, database tables, etc. I think it is most appropriate that only one instance of each "monitor" should be allowed to run, regardless of which physical box it is on.
    I'm having trouble coming up with how to do this. The only real "central" point here is the database, so I'm wondering if there is some way to "lock" on a table, record, etc. in the database via my JDBC connection to signal that which ever monitor thread received the lock may continue to execute, but any other monitor threads of the same type from any other JVM or machine would exit out. However, since I have some monitoring of my monitor threads, I would like for this "lock" to timeout if its associated monitor were to fail gracefully or un-gracefully -- so I could somewhat quickly spin-up a new monitor.
    Is this possible with JDBC? I'm going to do some testing with the simple "SELECT FOR UPDATE" query. Thanks.

    This doesn't seem like a very good approach...
    Why not some sort of messaging service? http://java.sun.com/products/jms/

  • How to increase instance size in oracle bpm 10.3.1

    Hi,
    anyone please help me how to change instance size in oracle bpm 10.3.1 whenver i amm attaching maximum size file it is giving error
    Caused by: fuego.server.exception.MaxInstanceSizeRuntimeException: Max instance size exceeded.
    Current size is 69033, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'Interactive[Interactive1]' of process '/Process#Default-1.0'
    Edited by: user12171025 on Nov 16, 2009 10:13 PM

    Hi,
    In the engine configuration in the Execution tab set the Maximum Instance Size that by default is 16Kb.
    If you are going to have large values for the instance size probably you have to consider to define the instance variable as separated
    Regards

  • How to Increase Instance size for ALBPM-Err:'Max instance size exceeded.

    HI,
    Can anybody in How to increase maximum instance size for
    1. ALBPM Studio
    2. runtime i.e. process administrator?
    Look forward for help.
    Cheers
    The exception in detail is:
    Error while persisting the transaction data: 'Max instance size exceeded.
    Current size is 33262, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'StartExecution[Process1DownloadMessage]' of process '/Process1Download#Default-1.0''
    Details:
    Max instance size exceeded.
    Current size is 33262, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'StartExecution[Process1DownloadMessage]' of process '/Process1Download#Default-1.0'
    fuego.server.exception.MaxInstanceSizeRuntimeException: Max instance size exceeded.
    Current size is 33262, whereas the maximum size is 16384. This occurs with instance 'Process1' at activity 'StartExecution[Process1DownloadMessage]' of process '/Process1Download#Default-1.0'      at fuego.server.ProcInst.getComponentData(ProcInst.java:792)      at fuego.server.ProcInst.mustStoreComponent(ProcInst.java:2777)      at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.executeUpdateInstance(JdbcProcessInstancePersMgr.java:2870)      at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.updateInstance(JdbcProcessInstancePersMgr.java:2272)      at fuego.server.persistence.Persistence.updateProcessInstance(Persistence.java:1008)      at fuego.server.execution.EngineExecutionContext.persistInstances(EngineExecutionContext.java:1819)      at fuego.server.execution.EngineExecutionContext.persist(EngineExecutionContext.java:1109)      at fuego.transaction.TransactionAction.beforeCompletion(TransactionAction.java:132)      at fuego.connector.ConnectorTransaction.beforeCompletion(ConnectorTransaction.java:685)      at fuego.connector.ConnectorTransaction.commit(ConnectorTransaction.java:368)      at fuego.transaction.TransactionAction.commit(TransactionAction.java:302)      at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:481)      at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)      at fuego.transaction.TransactionAction.start(TransactionAction.java:212)      at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)      at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:63)      at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)      at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)      at fuego.server.execution.ToDoItem.run(ToDoItem.java:559)      at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:773)      at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:753)      at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)      at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)      at fuego.fengine.ToDoQueueThread$PrincipalWrapper.processBatch(ToDoQueueThread.java:446)      at fuego.component.ExecutionThread.work(ExecutionThread.java:837)      at fuego.component.ExecutionThread.run(ExecutionThread.java:408)

    First take a look at your instance variables in your processes. Determine if some could be changed to be Separated instance variables. Once an instance variable's category changes from "Normal" to "Separated", it is not included in the instance size calculation.
    If you cannot mark variables as Separated, then in Studio's "Project Navigator" tab, right mouse click the name of your project -> click "Engine Preferences" -> with the "Engine" selected as the Category, click the "Advanced" tab on the upper right change the "Maximum Instance Size" to 64KB (4x the original 15kb value) and change the "Instances Cache" to 1250 (1/4th the original value).
    What version of Enterprise are you on (Standalone or WLS)? There is a similar setting on Enterprise, but it is slightly different between the two types of Enterprise Engines.
    Dan

  • How to measure the task instance size

    I am trying to understand how to measure the custom task instnace size that was occupied in the cache repository. Is there a way to obtain the size (in KB s ) in lighthouse 4.1 +sp5. Please help.                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi, Luiz!
    In order to estimate the instance size, you will have to sum up all the instance variables size.
    From the practical prospective it may be difficult to use the algorithm in cases when your instance variables are not simple types.
    For already existing instances, you can look the instance size in the database:
    An instance is just a java object, that is serialized as a byte[] and stored in the engine database, PPROCINSTANCE table, column INSTDATA.
    You can write a simple program (either java or SQL plus) that would read the instance from the BLOB and measure the size.
    And yes, with large instances you can have performance problems.

  • Attachments and instance size ? (Attaching from Global Create)

    Is it true that if you want to allow users to make attachments from Global Create, you must set your "MAX Instance Size" to be at least as big as the Attachments coming in?
    In Global Create, if you want to allow user to make attachments, it seems (from the documentaiton and the sample projects) that you must have an argument to recieve the binary data, and a corresponding instance variable to which it is mapped to. Then after the Begin activity, you can create the attachment using the instance variable.
    Is there some other way to do this without instance variables holding the binary data?
    Also, making the instance variable "SEPARATED" is not a solution, because there is a max size of 2Mb on separated instance variables. I am anticipating attachments up to 100Mb
    Edited by bcespinola at 09/21/2007 8:15 AM

    Manoj,
    We found a workaround that works in Studio workspace. We are getting ready to deploy it to our ALBPM server and test it there.
    Workaround:
    Instead of passing attachment (binary data and file names) to process via Process Arguments, then mapping the arguments to instance variables, then creating attachment from instance variables, we use the Fuego.Io.BinaryFile.
    there are 2 methods on this we use:
    1) writeFromBinaryTo
    2) readToBinaryFrom
    So from the screenflow in the global create, we have screenflow level variables receiving the binary data and filenames from the posted JSP. In the screenflow, we then use "writeFromBinaryTo" method of BinaryFile object and for the 'name' paramter, provide a full path on the server to where we want the file written.
    then we pass a string containing the file's full path as an argument to the process, mapped to an instance variable.
    Then, after instance is created, we have an automatic that uses local a variable (not instance variables) to hold Binary data and filenames. We then use "readToBinaryFrom" method of BinaryFile object, again using the string containing the full path to the file on the server, as the "name" parameter to the method. This method returns a object represting the binary data. then you can use the "create attachment" code, passing in the binary data and file name to create the instance attachment.
    Finally, we do some cleanup by deleting the file that was uploaded to the server (delete method of Fuego.File)
    So in summary, instead of passsing the filename and binary data as arguments to the process, we basically are using fuego object to do a file upload to the server, then after instace created, we get reference to file on server and create attachment from there. Now our instance size can be small, but process can still handle large attachments.
    Hope that helps.
    Edited by bcespinola at 10/03/2007 6:11 AM

  • How to query the current instance size of an instance of a process

    Hello guys,
    I'm currently doing a Capacity Plan for my BPM enviroment and I would like to know the current instance size of different kind of processes deployed in my environment. I'll need this to calculate an average instance size per process. The main reason for this capacity plan is that our environment instance size is configured to more then 1000kb(don't know what kind of issues occurred in the past that led to this exceeded value configured) and I don't want to leave this configuration but I can't be safe decreasing it without know if our production environment will start launching the "Max Instance Size Exceeded" error.
    Is there any way to fetch this information? Any API or SQL Query where I can find this information?
    Thanks for any help.
    Regards,
    Luiz
    Edited by: Luiz Rocha on 30/04/2009 16:50

    Hi, Luiz!
    In order to estimate the instance size, you will have to sum up all the instance variables size.
    From the practical prospective it may be difficult to use the algorithm in cases when your instance variables are not simple types.
    For already existing instances, you can look the instance size in the database:
    An instance is just a java object, that is serialized as a byte[] and stored in the engine database, PPROCINSTANCE table, column INSTDATA.
    You can write a simple program (either java or SQL plus) that would read the instance from the BLOB and measure the size.
    And yes, with large instances you can have performance problems.

  • How to check instance alert.log in RAC 10g ASM environment?

    i know to use Grid control or OEM check instance alert.log?
    But since in ASM the alert.log is not recognized, how to check it in OS level just like regular non-RAC checking?
    or the best way to check it ?
    thanks a lot!

    user620464 wrote:
    i know to use Grid control or OEM check instance alert.log?
    But since in ASM the alert.log is not recognized, how to check it in OS level just like regular non-RAC checking?
    or the best way to check it ?
    thanks a lot!Well if you mean that you have put the alert over asm storage than where did it mention to put alert file over ASM? Is not like an o/s where one can go and read the file and surely, neither we need striping or mirroring of it either. I am not sure that there is any way to do so over ASM storage.
    HTH
    Aman....

  • How often do log monitors check log files?

    Hello all, just wondering if there was a set interval that SCOM checks log files when you set up a simple log monitor.   Is there an interval somewhere I'm not seeing?  Or how does that work?

    Please see: https://social.technet.microsoft.com/Forums/systemcenter/en-US/ee74e8b6-623a-41ee-abb4-54a98d017000/scom-2012-polling-interval-faster-for-monitoring-network
    But not every param of monitor can be changed and it can be hardcoded in MP...and only way to change this param is to recreate MP ..
    usually Param Interval (sec) or Frequency is
    used to modify that property (polling interval) in overrides."
    Cheers,
    Martin
    Blog:
    http://sustaslog.wordpress.com 
    LinkedIn:
    Note: Posts are provided “AS IS” without warranty of any kind, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

  • Instance size error

    Has anyone encountered this error in Enterprise?
    fuego.server.exception.MaxInstanceSizeRuntimeException: Max instance size exceeded.
    Current size is 237298, whereas the maximum size is 65536. This occurs with instance 'CellBuildProcess2941' at activity 'Initialize' o
    f process '/CellBuildProcess2\#Default-1.0'
    Thanks,
    Michael

    Hi Michael,
    There's an engine setting (both on Studio and Enterprise) for the maximum allowable size of instance variables.
    You have a few choices:
    1. you can bump the max instance size setting on Studio and Enterprise (not a fan of this)
    2. you can change the offending instance variable(s) to be "Separated" or
    3. you can look at your variable and see if it contains information rarely accessed and possibly should be retrieved from a database.
    good to hear from you,
    Dan

  • Instance size

    Hi all,
    is there any way to know the size of an instance?
    I use local and separated variables to control the increase of instance size, is there any other way to do this?

    Hi Michael,
    There's an engine setting (both on Studio and Enterprise) for the maximum allowable size of instance variables.
    You have a few choices:
    1. you can bump the max instance size setting on Studio and Enterprise (not a fan of this)
    2. you can change the offending instance variable(s) to be "Separated" or
    3. you can look at your variable and see if it contains information rarely accessed and possibly should be retrieved from a database.
    good to hear from you,
    Dan

  • Alert log monitoring in dbconsole 11.2.0.2.0

    Hullo
    Is there a way to tune out certain ORA- alerts from alerting via dbconsole? At the moment we are getting all  ORA-0600s and some of them we dont need waking up by!
    Thanks.
    11.2.0.3
    RHEL 5.5

    Do you have metalink support? This is the doc you want to check into .. yes it is possible.
    Database Alert log monitoring in 12c explained (Doc ID 1538482.1)
    From this doc...
    You need to get fancy with the regexp..
    Setting thresholds for alert log metrics
    Setting of the thresholds is a very complex and wide area and the values are depending on the requirements, the DBA experience and environments being monitored. This can be achieved by going to the Database target menu->Monitoring->Metrics and collection settings->Edit the "Generic Alert Log Error" from the 3 blue pencils icon on the right.
    By default, the "Generic Alert Log Error" Warning threshold is set to "ORA-0*(600?|7445|4[0-9][0-9][0-9])[^0-9]" which means:
    ORA-0*(600?|7445|4[0-9][0-9][0-9])[^0-9] - the string ORA-0
    ORA-0*(600?|7445|4[0-9][0-9][0-9])[^0-9] - folowed by none ore more zeroes
    ORA-0*(600?|7445|4[0-9][0-9][0-9])[^0-9] - followed by 600 or 60 (the ? operator means "there is zero or one of the preceding element")
    ORA-0*(600?|7445|4[0-9][0-9][0-9])[^0-9] - or it can be 7445
    ORA-0*(600?|7445|4[0-9][0-9][0-9])[^0-9] - or it can be anything between 4000 and 4999
    ORA-0*(600?|7445|4[0-9][0-9][0-9])[^0-9] - it can follow anything but a number
    For setting the thresholds, a Regular expression (RegExp) as the one above needs to be used.

Maybe you are looking for