「java时间监控」java 实时监控
本篇文章给大家谈谈java时间监控,以及java 实时监控对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java定时器监控
- 2、Java类应用监控应该监控哪些
- 3、java写一个监控器,每月1号一点扫描一次,注意每月只扫描一次,考虑效率问题和资源问题!!!求大侠啊!!
- 4、请教,怎么监控一个Java程序是否运行结束
- 5、java语言里面,有没有办法监控某个网页打开和关闭的时间啊?捉急了。。
- 6、如何监控java quartz定时器中的所有定时任务
java定时器监控
我是让它每10毫秒扫描一下。
Calendar ca=null;
Calendar ca1=null;
Timer timer=new Timer();
static Connection con=null;
public void chu(){
ca=Calendar.getInstance();
ca1=(Calendar)ca.clone();
ca1.add(Calendar.SECOND, 20);
}
public void Time(){
float s=ca1.get(Calendar.SECOND)-ca.get(Calendar.SECOND)+(ca1.get(Calendar.MILLISECOND)-ca.get(Calendar.MILLISECOND))/1000f;
if(con==null){
System.out.println("耗时"+String.valueOf(s)+"秒");
if(ca.after(ca1)){
System.out.println("取不到连接");
timer.cancel();
return ;
}
}else{
System.out.println("耗时"+String.valueOf(s)+"秒");
}
ca.add(Calendar.MILLISECOND, 10);
timer.schedule(
new TimerTask() {
public void run() {
System.out.println("时间在溜走。。。。");
Time();
}
}, ca.getTime());
}
void getcon(){
Connection con=null;//获取Connection
chu();
Time();
}
Java类应用监控应该监控哪些
当有问题出现时,许多开发人员可能会比较盲目的用这些工具来试探性定位问题,而大多数情况下,这种试探会无功而返。因为这些分析工具主要是侧重Java单方面的分析,比如该系统调用第三方API,如果第三方API有问题,是无法监控到的。还有像文件、DB资源的访问也是是无法监控到的。
除了JAVA自带的监控工具外,我们尝试了第三方的监控工具透视宝,功能相对全面,且易操作。
在功能方面,透视宝都包括:查看执行最慢的10个元素,包括元素执行次数、持续时长和占用时长百分比;查看HTTP请求参数,包括请求的响应状态、链接页面、具体的请求参数及返回结果;查看代码执行堆栈的详细树状信息,包括每个方法的计算时间、总耗时和被调用的次数,您能直接看到特殊标识的最慢方法;查看涉及SQL语句的总耗时排序,包括SQL执行总耗时、执行次数和具体的查询语句;第三方API调用。
java写一个监控器,每月1号一点扫描一次,注意每月只扫描一次,考虑效率问题和资源问题!!!求大侠啊!!
不想写代码了,给你一个我写过的参考吧,我的这个是每天晚上0点时执行程序,一天只执行一次,效率认为还不错。
package prepare;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Auto_Prepare extends Thread {
// SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");// 格式化日期
// SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");// 格式化时间
SimpleDateFormat sdfTime_ALL = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化时间
public Auto_Prepare() {
}
public void run() {
// TODO Auto-generated method stub
int way = 1;// 选择的方法
System.out.println("选择的方法是:方法" + way);
if (way == 1) {// 用Thread.Sleep()方法实现
while (true) {
int ON_RestTime = 20;// 如果进行了准备工作,线程的睡眠时间,单位:小时
int OFF_RestTime = 59;// 如果不进行准备工作,线程的睡眠时间,单位:分钟
// /////////////////////////////////////////////////////////////格式化时间
Calendar Now = Calendar.getInstance();
String strTime = "现在时刻北京时间:"
+ sdfTime_ALL.format(Now.getTime()) + "----";
if (Now.get(Calendar.HOUR_OF_DAY) == 0) {
// 即当时间是0点时,开始执行下列语句
System.out.println("abcdefghijklmnopqrstuvwxyz");
System.out.println("Auto_Prepare.java====" + strTime
+ "开始准备所有数据...");
Date SHDate = Now.getTime();// 执行准备工作前的时间
PrepareData(Now);// 执行准备工作
Now = Calendar.getInstance();// 现在的时间
long RunTime = Now.getTime().getTime() - SHDate.getTime();// 准备数据消耗的时间
int hr = (int) RunTime / 1000 / 60 / 60;
int mr = (int) RunTime / 1000 / 60 - hr * 60;
int sr = (int) RunTime / 1000 - hr * 60 * 60 - mr * 60;
System.out.println("Auto_Prepare.java====现在时刻北京时间:"
+ sdfTime_ALL.format(Now.getTime())
+ "----准备工作运行时间为:" + hr + "小时" + mr + "分" + sr
+ "秒。");
Now = Calendar.getInstance();// 现在的时间
long SleepTime = ON_RestTime * 60 * 60 * 1000
+ (24 - ON_RestTime) * (60 - OFF_RestTime) * 60
* 1000 - RunTime;
// 加(24-ON_RestTime)*(60-OFF_RestTime)分钟的目的
// 是消除一天中有四次睡眠OFF_RestTime分钟造成的误差。
int hs = (int) SleepTime / 1000 / 60 / 60;
int ms = (int) SleepTime / 1000 / 60 - hs * 60;
int ss = (int) SleepTime / 1000 - hs * 60 * 60 - ms * 60;
System.out.println("Auto_Prepare.java====现在时刻北京时间:"
+ sdfTime_ALL.format(Now.getTime())
+ "----所有数据准备完毕,线程睡眠:" + hs + "小时" + ms + "分" + ss
+ "秒。");
try {
Auto_Prepare.sleep(SleepTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {// 不是0点,睡眠OFF_RestTime分钟
Date SHDate = Now.getTime();
Now = Calendar.getInstance();
long RunTime = Now.getTime().getTime() - SHDate.getTime();// 程序运行消耗的时间
int hr = (int) RunTime / 1000 / 60 / 60;
int mr = (int) RunTime / 1000 / 60 - hr * 60;
int sr = (int) RunTime / 1000 - hr * 60 * 60 - mr * 60;
System.out
.println("Auto_Prepare.java====现在时刻北京时间:"
+ sdfTime_ALL.format(Now.getTime())
+ "----程序运行时间为:" + hr + "小时" + mr + "分"
+ sr + "秒。");
Now = Calendar.getInstance();// 现在的时间
long SleepTime = OFF_RestTime * 60 * 1000 - RunTime;
int hs = (int) SleepTime / 1000 / 60 / 60;
int ms = (int) SleepTime / 1000 / 60 - hs * 60;
int ss = (int) SleepTime / 1000 - hs * 60 * 60 - ms * 60;
System.out.println("Auto_Prepare.java====现在时刻北京时间:"
+ sdfTime_ALL.format(Now.getTime())
+ "----时间不是0点,不做准备工作,线程睡眠:" + hs + "小时" + ms + "分"
+ ss + "秒。");
try {
Auto_Prepare.sleep(SleepTime);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}// while(true)
} else if (way == 2) {
}
}
private void PrepareData(Calendar now) {
//准备工作,即你需要让程序处理的事情
}
}
请教,怎么监控一个Java程序是否运行结束
检测一个JAVA程序的运行时间方法:
1
2
3
4
long startTime = System.currentTimeMillis();//获取当前时间
//doSomeThing(); //要运行的java程序
long endTime = System.currentTimeMillis();
System.out.println("程序运行时间:"+(endTime-startTime)+"ms");
java语言里面,有没有办法监控某个网页打开和关闭的时间啊?捉急了。。
这个没办法的,因为JAVA是运行在SERVER端,网页关闭是客户端行为,所以单纯依靠JAVA怎么监听得到嘛
只有通过JS,比如JQUERY的document.ready来监控网页打开,然后传递数据给后台
至于关闭,也可以通过JS,比如JS监听onbeforeunload()事件,但监听到以后,通过AJAX发送数据到后台通知JAVA写的程序
如何监控java quartz定时器中的所有定时任务
众所周知spring 的Quartz定时器的功能非常强大,可以在特定的年月日小时分秒的时间点触发时间,完成事件的调度,就像windows中得计划任务一样。下面看一个典型的Quartz定时器的实现:
1、首先实现一个用于被执行的类,这个类用于被定时器调度,这个类不需要继承任何类或者接口,代码如下:
publicTestQuartz{
public void doSomething(){ //TODO } }
2、spring配置文件,具体配置
!-- 被执行类 --
beanid="testQuarzt"class="test.testQuarzt"/
!-- 将testQuarzt注入到job中 --
beanid="testQuartzJob"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
property name="targetObject" ref="testQuarzt" / property name="targetMethod" value="doSomething" / property name="concurrent" value="false" / /bean
!-- 将job注入到定时触发器 --
beanid="testTrigger"class="org.springframework.scheduling.quartz.CronTriggerBean" property name="jobDetail" ref="testQuartzJob" / property name="cronExpression" value0 0 6 * * ?value property bean
!-- 将定时触发器注入任务工程 --
beanclass="org.springframework.scheduling.quartz.SchedulerFactoryBean" property name="triggers" list
关于java时间监控和java 实时监控的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-22,除非注明,否则均为
原创文章,转载请注明出处。