matrix icon indicating copy to clipboard operation
matrix copied to clipboard

卡顿信息堆栈最多显示 30个的异常?过滤了之后,线上的部分数据调用链有点奇怪,请问最多上报 30 个方法堆栈这个经验值是怎么得出来的

Open gdutxiaoxu opened this issue 3 years ago • 0 comments

异常类型:卡顿信息堆栈最多显示 30个方法,请问最多上报 30 个方法堆栈这个经验值是怎么得出来的?

手机型号:无

手机系统版本:无

matrix版本:2.0.2

gradle版本:如: 4.1.0

问题描述:卡顿信息堆栈最多显示 30个的异常?过滤了之后,线上的部分数据调用链有点奇怪,请问最多上报 30 个方法堆栈这个经验值是怎么得出来的

相关代码:

                TraceDataUtils.trimStack(stack, Constants.TARGET_EVIL_METHOD_STACK, new TraceDataUtils.IStructuredDataFilter() {
                    @Override
                    public boolean isFilter(long during, int filterCount) {
                        return during < filterCount * Constants.TIME_UPDATE_CYCLE_MS;
                    }

                    @Override
                    public int getFilterMaxCount() {
                        return Constants.FILTER_STACK_MAX_COUNT;
                    }

                    @Override
                    public void fallback(List<MethodItem> stack, int size) {
                        MatrixLog.w(TAG, "[fallback] size:%s targetSize:%s stack:%s", size, Constants.TARGET_EVIL_METHOD_STACK, stack);
                        Iterator iterator = stack.listIterator(Math.min(size, Constants.TARGET_EVIL_METHOD_STACK));
                        while (iterator.hasNext()) {
                            iterator.next();
                            iterator.remove();
                        }
                    }
                });

gdutxiaoxu avatar Feb 17 '22 06:02 gdutxiaoxu