问题标签 [p6spy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

p6spy - 如何将 p6spy 用于限制其 JDBC 驱动程序的独立应用程序?

我有一个使用 Oracle 数据库的独立 3rd 方应用程序,我需要对其数据库查询进行故障排除。而且我无权访问它的源代码(也不想反编译它:-))。它的数据库连接配置有几个单独的参数:

  • 司机:oracle.jdbc.OracleDriver
  • JDBC 网址:jdbc:oracle:thin:@localhost:1521:orcl
  • 用户名密码

但是我无法更改驱动程序,因为应用程序正在检查支持的驱动程序列表,并且如果我com.p6spy.engine.spy.P6SpyDriver输入驱动程序参数就拒绝启动。

那么这种情况下p6spy还能用吗?如果没有,是否有任何其他方法可以从应用程序端跟踪应用程序数据库访问(我知道 Oracle 跟踪,如果这不起作用,那将是我的下一步)?

非常感谢!

0 投票
1 回答
294 浏览

spring - spring boot with p6spy sleuth traces 解读

我们一直在我们的微服务中使用 spring cloud sleuth 进行跟踪。我们还从 spring 数据存储库连接、获取和查询中添加了启用的 jdbc 级别跨度。我看到一些奇怪的 jps 名称痕迹,jdbc:/datasource/connection其中似乎包括我的一些服务特定跨度。我认为父跨度仅包括它称为孩子的跨度。

在此处输入图像描述

venderproxy, profile:fetchorganization是我的其他服务的 grpc 端点,为什么jdbc:/datasource/connectionspansupplier包括我的一些服务?

0 投票
1 回答
120 浏览

microservices - 使用 P6Spy 作为 Quarkus 应用程序的代理数据源的示例

我是微服务的新手。在我们的项目中,我们在每个容器的每个服务上创建数据库连接。

我试图将其迁移到数据源,但遇到了这个问题。假设我有服务 A,并添加了 10 个初始连接的数据源。如果基于负载创建了 2 个容器,则系统正在初始化 20 个 DB 连接;每个容器 10 个。这个矩阵随着容器的数量而增加。

想检查我是否可以集中所有对 P6Spy 的连接请求,并且 P6Spy 将作为一个单独的容器托管,这将有助于支持所有微服务的数据库访问。微服务世界中Weblogic-Datasource的思考。

Heimdall Data 实现了类似的概念,如下所示。任何实现这一目标的建议。

预期的

0 投票
1 回答
81 浏览

java - p6spy,在每次启动时创建一个新的日志文件(带有时间戳)

标题说明一切。我想记录我的 sql 查询,但问题是,在每个程序重新启动时,它会将查询附加到同一个文件中,因为我在 spy.properties 文件中指定了相同的查询:

我希望日志文件具有如下名称:spy_TIMESTAMP.log

我正在使用 JDBC 进行数据库连接。

0 投票
0 回答
24 浏览

java - 需要来自 Java 中 SQLXML 对象的 p6spy 的纯文本字符串(多种 DB 类型)

我的应用程序是基于 Java 的,目前针对 Oracle、SQL Server 和 PostgreSQL 数据库运行。我们最近开始使用 XML 数据类型(Oracle 上的 XMLTYPE)来存储一些 xml 片段。

因此创建表查询可能如下所示:

然后我们使用 SQLXML 对象来设置值,如下所示:

其中 _statement 是 PreparedStatement 对象。

但是,我们还使用 p6spy DB 驱动程序来捕获插入/更新/删除 SQL 以进行审计。

唯一的问题是 p6spy 将捕获 Java 内部对象名称(或任何名称) - 以下是 Oracle 和 PostgreSQL 示例:

我们需要它与实际的 XML 数据一起出现:

无论我们使用 String、Stream 还是 Reader 设置 SQLXML,此行为都是相同的。

我还需要它适用于我提到的所有 3 种数据库类型(最好使用一刀切的解决方案,但如果我必须为每个数据库提供自定义代码,我会这样做。)

有谁知道从 p6spy 输出中的 SQLXML(和 Oracle 的 XMLTYPE)获取真实字符串值的方法?

任何想法都会有所帮助。谢谢。

汤姆

0 投票
0 回答
42 浏览

java - 在集成测试中使用 p6spy @DataJpaTest 不起作用

这是我的设置:

测试班

构建.gradle

应用程序-test.yml

spy.properties - 我在 src/main/resources 和 /srt/test/resources 下添加了它

我仍然没有得到任何 SQL 命令的日志

0 投票
0 回答
43 浏览

java - spring-boot自动重启后发生了一些奇怪的事情

我使用threadlocal每个请求 sql 查询计数的静态变量存储。

作为代码

当一些 sql 执行时,我会算上它

然后我记录完成后的总数

一切都好,我可以得到成功的结果

在此处输入图像描述

但是当我编辑任何代码时,springboot 会自动重启。那么计数是错误的。

在此处输入图像描述

结果始终为零。

0 投票
1 回答
67 浏览

java - 在 JBoss 中注入 P6Spy 会导致“此连接 URL 的驱动程序类 [class com.mysql.jdbc.Driver] 错误”

我目前正在调试部署在 JBoss EAP 6.4.0.GA 上的应用程序,我想使用P6Spy检查数据库返回的内容。我从 Maven下载了文件并按照说明进行操作,它们是:

  • /usr/local/jboss6/modules/com/p6spy/main/包含 P6Spy JAR 和module.xml

  • spy.properties与内容在同一文件夹中创建一个(为了便于访问)

  • standalone.xml文件中,添加以下系统属性以取属性文件

    然后修改数据源以更改连接 URL 并使用新的驱动程序

然后我重新启动我的服务器。在日志中,JBoss 可以识别 P6Spy 驱动程序和数据源,但是当应用程序开始初始化时会发生错误并且部署会停止。

这是一个使用 Modeshape 5.4.1.Final 的应用程序,当存储库 bean 尝试从数据源获取连接时会发生错误。

有没有我错过的配置?