「java时间监控」java 实时监控

博主:adminadmin 2022-12-22 19:36:07 64

本篇文章给大家谈谈java时间监控,以及java 实时监控对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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 实时监控的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。