scala如何在任意方法中打印当前线程栈信息(StackTrace)
1.以wordcount为例
package org.apache.spark.examples
import org.apache.spark.{SparkConf, SparkContext}
//在任意方法中打印当前线程栈信息(StackTrace)
object word1 {
def printStackTrace(cls: Class[_]): Unit = {
val elements = (new Throwable).getStackTrace
System.out.println("Stack for " + cls.getName + ":")
for(i <- to elements.length) {
System.out.println(elements(i).getClassName +
"." + elements(i).getMethodName +
"(" + elements(i).getFileName +
":" + elements(i).getLineNumber +
")")
}
}
def main(args:Array[String]): Unit ={
val sparkConf=new SparkConf().setAppName("WORD1").setMaster("local")
val sc=new SparkContext(sparkConf)
val lines=sc.textFile("E:\\spark_file\\wordcount.txt")
val word=lines.flatMap{x =>x.split(" ")}
val pairs=word.map(s =>(s,))
val wordcnt=pairs.reduceByKey{_+_}
wordcnt.foreach(wordcount =>println(wordcount._1+" appread "+wordcount._2+" times/time "))
printStackTrace(classOf[Test])
}
}
2.输出结果:

scala如何在任意方法中打印当前线程栈信息(StackTrace)的更多相关文章
- 在makefile中打印错误或警告信息
在makefile中打印警告或者错误消息的方法: $(warning xxxxx) 或者 $(error xxxxx) 输出变量方式为: $(warning $(XXX))
- 在C/C++程序中打印当前函数调用栈
前几天帮同事跟踪的一个程序莫名退出,没有core dump(当然ulimit是打开的)的问题.我们知道,正常情况下,如果程序因为某种异常条件退出的话,应该会产生core dump,而如果程序正常退出的 ...
- java方法中开启一个线程
很多业务场景下需要你在一个方法中去开启一个线程,去跑一些处理时间较长的代码,这样调用方就不必经过长时间的等待了.好了 话不多说 先上代码: package test; public class Th ...
- TP方法中打印地址栏中所有的参数:
print_r($this->request->param());//打印出地址栏中所携带的所有参数:
- 使用Log4在测试过程中打印执行日志 及配置log4j.properties!
http://zengxiantao.iteye.com/blog/1881706 1.环境配置:到网上下载log4j-1.2.17.jar包!完后 添加到 项目的build path 中即可! 2. ...
- 利用Xposed Hook打印Java函数调用堆栈信息的几种方法
本文博客链接:http://blog.csdn.net/QQ1084283172/article/details/79378374 在进行Android逆向分析的时候,经常需要进行动态调试栈回溯,查看 ...
- 为什么匿名内部类只能访问其所在方法中的final类型的局部变量?
大部分时候,类被定义成一个独立的程序单元.在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类,包含内部类的类也被称为外部类. class Outer { priv ...
- js中事件绑定要注意的事项之如何在方法中自己打印自己的值
下面是错误的js方法绑定,这样写会造成在方法中不能用 调用方法的dom本身的一些 东西,如各种属性或者jq对象等. <!DOCTYPE html> <html> <hea ...
- C#中添加三个线程同时启动执行某一方法,并依次调用某方法中的循环打印输。
添加三个线程同时启动执行某一方法,并依次调用某方法中的打印输:ABC ABC ABC ABC 实现代码如下: using System; using System.Collections.Generi ...
随机推荐
- 笔试题:求第M个到第N个素数之间全部素数
题目描写叙述 令Pi表示第i个素数. 现任给两个正整数M <= N <= 10000,请输出PM到PN的全部素数. 输入描写叙述: 输入在一行中给出M和N,其间以空格分隔. 输出描写叙述: ...
- codeforces 688C C. NP-Hard Problem(bfs判断奇数长度环)
题目链接: C. NP-Hard Problem time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- debian webmin 安装
/******************************************************************** * debian webmin 安装 * 说明: * 在服务 ...
- I.MX6 AW-NB177NF wifi reset
/*********************************************************************** * I.MX6 AW-NB177NF wifi res ...
- 就是要第一个出场的albus 【BZOJ】 线性基
就是我代码里读入之后的那一部分. 1.(一下a[]为原数组 a'[]为线性基) 线性基 中的a'[i]其实 是 原来的a[]中的某个子集(2^n个子集中的某个) 异或出来的 可能会有其他的子集与它异 ...
- VS2013在右键菜单添加命令插件开发
一.选择Visual Studio Package模板建立插件项目 由于此功能需要在右键菜单上添加命令,所以选择Visual Studio Package模板,根据模板向导步骤插件项目,在Select ...
- 《10 minutes to pandas》(转)
原文出处:http://pandas.pydata.org/pandas-docs/stable/10min.html 10 Minutes to pandas This is a short int ...
- 深入学习 Block
本文翻译自苹果的文档,有删减,也有添加自己的理解部分. 如果有Block语法不懂的,可以参考fuckingblocksyntax,里面对于Block 为了方便对比,下面的代码我假设是写在ViewCon ...
- 访问linux的mysql-没有iptables文件的情况,防火墙开启3306端口
转自:https://blog.csdn.net/wangt_1224/article/details/45824095
- bzoj 3527: [Zjoi2014]力【FFT】
大力推公式,目标是转成卷积形式:\( C_i=\sum_{j=1}^{i}a_jb_{i-j} \) 首先下标从0开始存,n-- \[ F_i=\frac{\sum_{j<i}\frac{q_j ...