详细解密FineReport中的报表执行过程

在报表开发工具FineReport中,报表的执行过程大体可分为两步:1、报表计算;2、页面转换。

报表计算过程:先读取我们的sql语句,将完整的sql语句传至数据库服务器,由数据库返回数据给报表服务器,报表服务器进行数据列的扩展、汇总、关联、公式运算等计算,最终生成报表结果。

页面转换过程:报表计算完成后生成xml页面,需要转换为html页面才能在浏览器中查看。

针对这一过程FineReport是可以实时监控的。监控方法是将服务器的log输出级别设为“普通信息”,就能在控制台上看到每一步使用的时间。

1. 设置日志输出级别

修改日志输出级别为“显示普通信息”,如下图设计器中设置:

2. 查看报表执行过程

2.1 打开模板

打开FR设计器,打开里面自带的模板:%FR_HOME%\WebReport\WEB-INF\reportlets\gettingstarted.cpt

2.2 清空日志

点击分页预览前,先清空日志。

3. 浏览器端访问报表

点击分页预览,输入参数条件后,点击查询;

等到报表在浏览器上完全展示出来后,查看日志窗口的信息:

从日志中我们可以对报表的执行过程进行实时监控。

时间: 2024-08-08 04:39:20

详细解密FineReport中的报表执行过程的相关文章

PHP内核解密系列:zend_execute的执行过程

PHP内核解密系列:zend_execute的执行过程 解释器引擎最终执行op的函数是zend_execute,实际上zend_execute是一个函数指针,在引擎初始化的时候zend_execute默认指向了execute,这个execute定义在{PHPSRC}/Zend/zend_vm_execute.h: ZEND_API void execute(zend_op_array *op_array TSRMLS_DC) { zend_execute_data *execute_data;

MVC中Action的执行过程

接着上一篇:MVC控制器的激活过程 一.代码现行,该伪代码大致解析了Action的执行的过程 try { Run each IAuthorizationFilter's OnAuthorization() method if(none of the IAuthorizationFilters cancelled execution) { Run each IActionFilter's OnActionExecuting() method Run the action method Run ea

(转)logback 打印Mybitis中的sql执行过程

场景:在程序开发过程中经常需要跟踪程序中sql语句的执行过程,在控制台打印出sql语句和对应的参数传递就能够更快的定位错误! 原文出处:http://www.cnblogs.com/beiyeren/p/4196134.html 这里所采用的日志框架为logback 1 不同版本的Mybitis对应不同的控制策略 1.1 myBatis3.0.6左右的版本时 打印sql的时候只需要配置如下属性: <logger name="java.sql.Connection" level=&

跟踪oracle中sql语句执行过程及相关知识拓展

<pre name="code" class="sql">select * from v$sqlarea; select * from v$sqlarea where first_load_time>'2010-11-27/09:30:00'; 这个方法查询结果每条记录显示一条查询语句,且只能查询sql_text小于1000字符的,多余的会被截断. 改进一下: select * from v$sqlarea where first_load_tim

java中for循环执行过程

for (int j = 0; j < newSize; j++) { //执行todo } 1.首先变量j初始化为0 2.然后j=0的值跟newSize进行比较,假如为true,则执行{}里面的内容,假如为false,则跳出循环体 3.{}执行完成,再执行j++ 4.j++执行完成,再跟newSize进行比较,假如为true,则执行{}里面的内容,假如为false,则跳出循环体 5.循环执行3和4

机房收费系统(VB.NET)——超详细的报表制作过程

之前做机房收费系统用的报表是Grid++Report,这次VB.NET重构中用到了VisualStudio自带的报表控件.刚开始当然对这块功能很不熟悉,不过探究了一段时间后还是把它做出来了. 下面把在VisualStudio(我用的是VisualStudio2013,如果与您使用的版本不同,过程中如有不符还请考虑实际情况)中制作报表的过程尽可能详细地记录下来,供初学者学习参考. 做事要有全局观,先看一下成品,做好的报表如下图: 其实能够达到这样的效果需要做两方面的工作:添加报表控件ReportV

Web API之过滤器执行过程原理解析【二】(十一)

前言 上一节我们详细讲解了过滤器的创建过程以及粗略的介绍了五种过滤器,用此五种过滤器对实现对执行Action方法各个时期的拦截非常重要.这一节我们简单将讲述在Action方法上.控制器上.全局上以及授权上的自定义特性的执行过程. APiController 之前有讲到该APiController,也就稍微介绍了,这节我们来详细此Web API控制器的基类: 1 public abstract class ApiController : IHttpController, IDisposable 2

MapReduce执行过程

一.基本执行过程 MapReduce过程分为两个阶段:map函数阶段和reduce函数阶段 (1)map函数是用来筛选掉非需要的数据,以键值对的形式输出,键为文件位置偏移量,值为待分析的数据,map函数核心目的是形成对数据的索引,以供reduce函数方便对数据进行分析. (2)reduce函数以Map函数的输出数据为数据源,对数据进行相应的分析,输出结果为最终的目标数据. 二.实际应用中的分布式执行过程 (1)一个map.一个reduce (2)多个map节点.一个reduce (3)多个map

ASP.NET Web API 过滤器创建、执行过程(二)

前言 前面一篇中讲解了过滤器执行之前的创建,通过实现IFilterProvider注册到当前的HttpConfiguration里的服务容器中,当然默认的基础服务也是有的,并且根据这些提供程序所获得的的过滤器信息集合进行排序.本篇就会对过滤器在创建完之后所做的一系列操作进行讲解. ASP.NET Web API 过滤器创建.执行过程(二) FilterGrouping过滤器分组类型 FilterGrouping类型是ApiController类型中的私有类型,它的作用就如同它的命名一样,用来对过