<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
code
        {mso-style-priority:99;
        font-family:"Courier New";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=WordSection1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Drools(5.1+) has already added functionality to monitor rule
activity in your application using JMX. You can turn mbean rule monitoring on either
in the rulebase&#8217;s configuration file(drools.mbeans=enabled||disabled) or
you can configure it through the command line(-Ddrools.mbeans=enabled||disabled
I believe). <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] <b>On Behalf Of </b>Dieter
D'haeyere<br>
<b>Sent:</b> Tuesday, August 03, 2010 9:49 AM<br>
<b>To:</b> Rules Users List<br>
<b>Subject:</b> Re: [rules-users] Drools Expert: monitor rules &amp; report
activity<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='margin-bottom:12.0pt'>What I mean with 'all possible
cases' is eg. that you will pass your facts to the rule engine and that the
rule engine will 'return' some result.<br>
I guess it is perfectly possible that in your test scenario's you covered a lot
of possible values for those facts but not all of them and that you could get
some unexpected results afterwards.<br>
This would mean that your test scenario's / test data were not good
enough.&nbsp; But I could imagine that stuff like this happens... At that
moment you should be able to see what rules were fired in a production
environment.<br>
<br>
Ik will have a look at the drools execution server.<br>
<br>
Dieter.<br>
<br>
<br>
<br>
<o:p></o:p></p>

<div>

<p class=MsoNormal>2010/8/3 Swindells, Thomas &lt;<a
href="mailto:TSwindells@nds.com">TSwindells@nds.com</a>&gt;<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB style='font-size:11.0pt;color:#1F497D'>Guvnor is a user interface
used to define sets of rules, it&#8217;s not designed to be an actual execution
server &#8211; the demo test scenarios only work on static predefined data, in
a real execution environment the input data has to be acquired/loaded from
somewhere dynamically, hence you always need some form of development &#8211;
though look at the drools execution server to minimize this.</span><span
lang=EN-GB><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB style='font-size:11.0pt;color:#1F497D'>&nbsp;</span><span
lang=EN-GB><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB style='font-size:11.0pt;color:#1F497D'>What do you actually mean by
covering all possible cases anyway? Possible cases of what? What are you trying
to detect?</span><span lang=EN-GB><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB style='font-size:11.0pt;color:#1F497D'>&nbsp;</span><span
lang=EN-GB><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB style='font-size:11.0pt;color:#1F497D'>Thomas</span><span
lang=EN-GB><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB style='font-size:11.0pt;color:#1F497D'>&nbsp;</span><span
lang=EN-GB><o:p></o:p></span></p>

<div style='border:none;border-left:solid windowtext 1.5pt;padding:0in 0in 0in 4.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color blue'>

<div>

<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;
border-color:-moz-use-text-color -moz-use-text-color'>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>From:</span></b><span style='font-size:10.0pt'> <a
href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>
[mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank">rules-users-bounces@lists.jboss.org</a>]
<b>On Behalf Of </b>Dieter D'haeyere<br>
<b>Sent:</b> 03 August 2010 14:35<br>
<b>To:</b> Rules Users List<br>
<b>Subject:</b> Re: [rules-users] Drools Expert: monitor rules &amp; report
activity</span><span lang=EN-GB><o:p></o:p></span></p>

</div>

</div>

<div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><span
lang=EN-GB>Ok, this looks like a way to handle it.<br>
But does this mean that there is no 'out of the box' monitoring possibility ?<br>
<br>
When deploying a rule base (with Guvnor), I would kind of expect that Guvnor is
accessible and that it can return some metrics (eg. after switching on a
monitoring option because I presume continuous logging would slow down the
system too much).<br>
<br>
As I understand it now, some custom development is needed will be needed to
achieve 'real-time' monitoring.<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<o:p></o:p></span></p>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB>2010/8/3 David Sinclair &lt;<a
href="mailto:dsinclair@chariotsolutions.com" target="_blank">dsinclair@chariotsolutions.com</a>&gt;<o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><span
lang=EN-GB>Have a look at the AgendaEventListener. You can use these callbacks
to see which rules fire and information about them<o:p></o:p></span></p>

<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 width="100%"
 style='width:100.0%'>
 <tr>
  <td width="1%" valign=top style='width:1.0%;background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;
  background-attachment:scroll;background-position-x:0%;background-position-y:
  0%'>
  <p class=MsoNormal align=right style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:right'><code><span style='font-size:10.0pt'>&nbsp;void</span></code><o:p></o:p></p>
  </td>
  <td style='background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;background-attachment:
  scroll;background-position-x:0%;background-position-y:0%'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><b><span
  style='font-size:10.0pt'><a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaEventListener.html#activationCancelled%28org.drools.event.rule.ActivationCancelledEvent%29"
  target="_blank">activationCancelled</a></span></b></code><code><span
  style='font-size:10.0pt'>(<a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/ActivationCancelledEvent.html"
  target="_blank" title="interface in org.drools.event.rule">ActivationCancelledEvent</a>&nbsp;event)</span></code>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="1%" valign=top style='width:1.0%;background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;
  background-attachment:scroll;background-position-x:0%;background-position-y:
  0%'>
  <p class=MsoNormal align=right style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:right'><code><span style='font-size:10.0pt'>&nbsp;void</span></code><o:p></o:p></p>
  </td>
  <td style='background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;background-attachment:
  scroll;background-position-x:0%;background-position-y:0%'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><b><span
  style='font-size:10.0pt'><a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaEventListener.html#activationCreated%28org.drools.event.rule.ActivationCreatedEvent%29"
  target="_blank">activationCreated</a></span></b></code><code><span
  style='font-size:10.0pt'>(<a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/ActivationCreatedEvent.html"
  target="_blank" title="interface in org.drools.event.rule">ActivationCreatedEvent</a>&nbsp;event)</span></code>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="1%" valign=top style='width:1.0%;background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;
  background-attachment:scroll;background-position-x:0%;background-position-y:
  0%'>
  <p class=MsoNormal align=right style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:right'><code><span style='font-size:10.0pt'>&nbsp;void</span></code><o:p></o:p></p>
  </td>
  <td style='background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;background-attachment:
  scroll;background-position-x:0%;background-position-y:0%'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><b><span
  style='font-size:10.0pt'><a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaEventListener.html#afterActivationFired%28org.drools.event.rule.AfterActivationFiredEvent%29"
  target="_blank">afterActivationFired</a></span></b></code><code><span
  style='font-size:10.0pt'>(<a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AfterActivationFiredEvent.html"
  target="_blank" title="interface in org.drools.event.rule">AfterActivationFiredEvent</a>&nbsp;event)</span></code>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="1%" valign=top style='width:1.0%;background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;
  background-attachment:scroll;background-position-x:0%;background-position-y:
  0%'>
  <p class=MsoNormal align=right style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:right'><code><span style='font-size:10.0pt'>&nbsp;void</span></code><o:p></o:p></p>
  </td>
  <td style='background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;background-attachment:
  scroll;background-position-x:0%;background-position-y:0%'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><b><span
  style='font-size:10.0pt'><a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaEventListener.html#agendaGroupPopped%28org.drools.event.rule.AgendaGroupPoppedEvent%29"
  target="_blank">agendaGroupPopped</a></span></b></code><code><span
  style='font-size:10.0pt'>(<a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaGroupPoppedEvent.html"
  target="_blank" title="interface in org.drools.event.rule">AgendaGroupPoppedEvent</a>&nbsp;event)</span></code>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="1%" valign=top style='width:1.0%;background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;
  background-attachment:scroll;background-position-x:0%;background-position-y:
  0%'>
  <p class=MsoNormal align=right style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:right'><code><span style='font-size:10.0pt'>&nbsp;void</span></code><o:p></o:p></p>
  </td>
  <td style='background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;background-attachment:
  scroll;background-position-x:0%;background-position-y:0%'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><b><span
  style='font-size:10.0pt'><a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaEventListener.html#agendaGroupPushed%28org.drools.event.rule.AgendaGroupPushedEvent%29"
  target="_blank">agendaGroupPushed</a></span></b></code><code><span
  style='font-size:10.0pt'>(<a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaGroupPushedEvent.html"
  target="_blank" title="interface in org.drools.event.rule">AgendaGroupPushedEvent</a>&nbsp;event)</span></code>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<o:p></o:p></p>
  </td>
 </tr>
 <tr>
  <td width="1%" valign=top style='width:1.0%;background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;
  background-attachment:scroll;background-position-x:0%;background-position-y:
  0%'>
  <p class=MsoNormal align=right style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:right'><code><span style='font-size:10.0pt'>&nbsp;void</span></code><o:p></o:p></p>
  </td>
  <td style='background:white;padding:2.25pt 2.25pt 2.25pt 2.25pt;background-attachment:
  scroll;background-position-x:0%;background-position-y:0%'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><code><b><span
  style='font-size:10.0pt'><a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/AgendaEventListener.html#beforeActivationFired%28org.drools.event.rule.BeforeActivationFiredEvent%29"
  target="_blank">beforeActivationFired</a></span></b></code><code><span
  style='font-size:10.0pt'>(<a
  href="http://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/javadocs/stable/drools-api/org/drools/event/rule/BeforeActivationFiredEvent.html"
  target="_blank" title="interface in org.drools.event.rule">BeforeActivationFiredEvent</a>&nbsp;event)</span></code>
  <o:p></o:p></p>
  </td>
 </tr>
</table>

<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><span
lang=EN-GB>&nbsp;<o:p></o:p></span></p>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB>2010/8/3 Dieter D'haeyere &lt;<a
href="mailto:dieter.dhaeyere@gmail.com" target="_blank">dieter.dhaeyere@gmail.com</a>&gt;<o:p></o:p></span></p>

<div>

<div>

<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><span
lang=EN-GB>@ll,<br>
I have a question regarding the possibilities to monitor and report on the
rules activity.<br>
I have seen that with Drools Guvnor, it is perfectly possible to monitor
scenario's, see what rules fired, etc.<br>
<br>
Now, going further, I have two questions:<br>
- Is it possible to monitor rule activity (which rules got fired etc) in a
production situation.&nbsp; Eg. Is it possible to start recording activity at
some time until a proble occured and to review the logs afterwards.&nbsp; This
would be of use when scenario's are not covering all possible cases.<br>
- Is it possible to produce reports on rules, usage of rules (eg. what rules
are fired and what rules were fired most), performance, ... <br>
And if not, what could be a good starting point to create them ?<br>
<br>
My experience with Drools is rather limited.&nbsp; Let's say that I am
interested in expert system and technologies surrounding it.&nbsp; At this
moment I am getting a 'theoretical' grip on Drools and its possibilities (of
course, I couldn't help also creating some kind of poc :)&nbsp; ).<br>
<br>
Sincerely,<br>
<span style='color:#888888'>Dieter D'haeyere.</span><o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><span
lang=EN-GB>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><o:p></o:p></span></p>

</div>

<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><span
lang=EN-GB><br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><o:p></o:p></span></p>

</div>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-GB>&nbsp;<o:p></o:p></span></p>

</div>

</div>

</div>

</div>

<p class=MsoNormal><span lang=EN-GB><o:p>&nbsp;</o:p></span></p>

<div class=MsoNormal align=center style='text-align:center'><span lang=EN-GB>

<hr size=2 width="100%" align=center>

</span></div>

<p class=MsoNormal><span lang=EN-GB style='font-size:7.5pt;font-family:"Arial","sans-serif";
color:gray'><br>
**************************************************************************************<br>
This message is confidential and intended only for the addressee. If you have
received this message in error, please immediately notify the <a
href="mailto:postmaster@nds.com" target="_blank">postmaster@nds.com</a> and
delete it from your system as well as any copies. The content of e-mails as
well as traffic data may be monitored by NDS for employment and security
purposes. To protect the environment please do not print this e-mail unless
necessary.<br>
<br>
NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX,
United Kingdom. A company registered in England and Wales. Registered no.
3080780. VAT no. GB 603 8808 40-00<br>
**************************************************************************************</span><span
lang=EN-GB><o:p></o:p></span></p>

</div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><o:p></o:p></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>