stagemonitor / stagemonitor-mailinglist

GitHub issues abused as a mailing list
3 stars 0 forks source link

Run StageMonitor into Standalone app #4

Open cdgraff opened 9 years ago

cdgraff commented 9 years ago

Hi, we has an app, that has a client and a server parts, but this don't run over tomcat or similar we just execute the java app, is possible run this in this case? can share an example or link to the doc to lear how to setup?

Thanks

felixbarny commented 9 years ago

Which technologies and frameworks are you using at the client and the server?

cdgraff commented 9 years ago

Felix, we use Spring...

felixbarny commented 9 years ago

I have to learn a bit more about your application... Do you want to monitor the client or the server? Which of stagemonitor's features are you particularly interested in? How do client and server cummunicate with each other? RMI? REST? Are you using spring boot or spring mvc?

felixbarny commented 9 years ago

Is there any public demo example application that is like yours architecture wise or could you provide a basic example? Then I could try to integrate stagemonitor into that app.

cdgraff commented 9 years ago

Hi Felix, thanks for your quick response...

We are interested in use your solution in 2 of our applications, but I think we can start with the most simple of them.

this read from ActiveMQ, process de message (parse and analize), in base to some bussines logic persist the result into a DB (DB2).

This run as standalone app, we has a propertie where setup ActiveMQ and DB information, we are interested in tracking times into the process, how much time take read from MQ, and insert into DB, plus the time take to process the messages. On the other side, I like to track the JVM information... HEAP, and the commons metrics.

Please let me know if need more info! thanks again! and congrats for made this amazing tool.

felixbarny commented 9 years ago

You could include a dependency to stagemonitor-requestmonitor. Then annotate the methods that handle the Messages with @MonitorRequests. Do you use spring's @JmsListener? Then it would look something like this:

@MonitorRequests
@JmsListener(destination = "mailbox-destination", containerFactory = "myJmsContainerFactory")
public void receiveMessage(String message) {
    System.out.println("Received <" + message + ">");
    context.close();
    FileSystemUtils.deleteRecursively(new File("activemq-data"));
}
javasyed commented 8 years ago

Hi Felix,

I would like to ask the similar question. Our application is Java standalone application. Its basically a data driven application where it will load entire object graph of parent object and its child-grand child. Then we will apply business rules to manipulate those data. Which business rule has to be applied would be decided based on data base configuration of that business rule class and its version. Basically this is pure standalone java business rule engine framework developed using Spring core (Dependency Injection and few AOP concepts) and Hibernate.

Can we use stage monitor for this kind of standalone application as well? Basically what I would like to have from stage monitor are

  1. If exception happens it would be notified to appropriate group
  2. If any particular method takes more time then it should be alerted.

Also I would like to know one more information. I don't know anything about docker and gradle. I am a traditional Java developer and I know how to create a web application using Spring+hibernate and maven. Can I use stage monitor in my standalone application and develop my stuff in eclipse IDE? Please share if you have specific application setup instruction.

Note: We are using log4j and application log information will be stored in separate log files.

Thanks, JS

felixbarny commented 8 years ago

Hi @javasyed,

thanks for your question. I'll try to do a very basic example for a standalone application.

javasyed commented 8 years ago

Hi Felix,

It's really good to hear a quick response from you regarding this. I have been eagerly looking forward for your standalone application example. Will it take more time or do you have any tentative date for completion?

Thanks, JS

felixbarny commented 8 years ago

There is a lot going on at the moment but I think I should have some time next week.

javasyed commented 8 years ago

Awesome! Thanks Felix!!

javasyed commented 8 years ago

Felix, Could you please update if you get a chance to work on this?

felixbarny commented 8 years ago

Here you go: https://github.com/felixbarny/stagemonitor-standalone-test

felixbarny commented 8 years ago

I've just implemented a @SLA annotation that you can use to alert if errors occur.

Example:

@MonitorRequests
@SLA(errorRateThreshold = 0)
void monitorErrors() {
}

You need to include stagemonitor-alerting for that. Note that this feature is not yet released.