乐于分享
好东西不私藏

机器人系统——ROS2文档—记录和回放数据

机器人系统——ROS2文档—记录和回放数据
目标:记录话题、服务和动作上发布的数据,以便随时回放和检查。教程级别:入门级时间: 20 分钟

目录

·背景

·前置条件

·管理话题数据

o环境准备

o选择话题

o记录话题

o检查话题数据

o回放话题数据

·管理服务数据

o环境准备

o检查服务可用性

o记录服务

o检查服务数据

o回放服务数据

·管理动作数据

o环境准备

o检查动作可用性

o记录动作

o检查动作数据

o回放动作数据

·总结

·后续步骤

·相关资料

本教程主要包括以下命令:

$ ros2 run turtlesim turtlesim_node
$ ros2 run turtlesim turtle_teleop_key
mkdirbag_files
$ cd bag_files
$ ros2 topic list
$ ros2 topic echo /turtle1/cmd_vel
$ ros2 bag record --topics <topic_name>
$ ros2 bag record --topics /turtle1/cmd_vel
$ ros2 bag record -o subset --topics /turtle1/cmd_vel /turtle1/pose
$ ros2 bag record -o subset_split -d 5 --topics /turtle1/cmd_vel /turtle1/pose
$ ros2 bag info subset
$ ros2 bag play subset
$ ros2 topic hz /turtle1/pose
$ ros2 run demo_nodes_cppintrospection_service --ros-args -p service_configure_introspection:=contents
$ ros2 run demo_nodes_cppintrospection_client --ros-args -p client_configure_introspection:=contents
$ ros2 bag record --all-services
$ ros2 bag record -o subset_cmd_vel --topics /turtle1/cmd_vel
$ ros2 action echo --flow-style /fibonacci

背景

ros2 bag是一个命令行工具,用于记录 ROS 2 系统中话题、服务和动作上发布的数据。它积累在任何数量的话题、服务和动作上传递的数据,然后将它们保存在数据库中。然后您可以回放这些数据以重现测试和实验的结果。记录话题、服务和动作也是分享您的工作并允许他人重现的好方法。

前置条件

您应该已经将ros2 bag作为常规 ROS 2 设置的一部分安装。如果您需要安装 ROS 2,请参阅安装说明

本教程涉及之前教程中介绍的概念,如节点话题服务动作。它还使用turtlesim包、服务内省演示动作内省演示

和往常一样,别忘了在打开的每个新终端中加载 ROS 2 环境。

管理话题数据

环境准备

您将记录turtlesim系统中的键盘输入,以便稍后保存和回放,因此首先启动/turtlesim/teleop_turtle节点。

打开一个新终端并运行:

$ ros2 run turtlesim turtlesim_node

打开另一个终端并运行:

$ ros2 run turtlesim turtle_teleop_key

作为良好实践,让我们创建一个新目录来存储保存的记录:

mkdirbag_files
$ cd bag_files

选择话题

ros2 bag可以记录发布到话题的消息中的数据。要查看系统的话题列表,打开一个新终端并运行命令:

$ ros2 topic list
/parameter_events

/rosout

/turtle1/cmd_vel

/turtle1/color_sensor

/turtle1/pose

在话题教程中,您了解到/turtle_teleop节点在/turtle1/cmd_vel话题上发布命令,使乌龟在turtlesim中移动。

要查看/turtle1/cmd_vel正在发布的数据,运行命令:

$ ros2 topic echo /turtle1/cmd_vel

起初不会显示任何内容,因为遥控器没有发布数据。返回到运行遥控器的终端并选中它以使其处于活动状态。使用箭头键移动乌龟,您将在运行ros2 topic echo的终端上看到正在发布的数据。

linear:

x:2.0

y:0.0

z:0.0

angular:

x:0.0

y:0.0

z:0.0

---

记录话题

3.1 记录单个话题

要记录发布到话题的数据,使用命令语法:

$ ros2 bag record --topics <topic_name>

在所选话题上运行此命令之前,打开一个新终端并移动到您之前创建的bag_files目录,因为rosbag文件将保存在您运行它的目录中。

运行命令:

$ ros2 bag record --topics /turtle1/cmd_vel

[INFO] [rosbag2_storage]: Opened database 'rosbag2_2019_10_11-05_18_45'.

[INFO] [rosbag2_transport]: Listening for topics...

[INFO] [rosbag2_transport]: Subscribed to topic '/turtle1/cmd_vel'

[INFO] [rosbag2_transport]: All requested topics are subscribed. Stopping discovery...

现在ros2 bag正在记录发布到/turtle1/cmd_vel话题的数据。返回到遥控终端并再次移动乌龟。移动的内容不重要,但尝试做一个可识别的图案,以便稍后回放数据时查看。

Ctrl-C停止记录。

数据将积累在一个新的 bag 目录中,目录名称模式为rosbag2___-__。此目录将包含一个metadata.yaml以及记录格式的 bag 文件。

3.2 记录多个话题

您还可以记录多个话题,并更改ros2 bag保存的 bag 目录名称。

运行以下命令:

$ ros2 bag record -o subset --topics /turtle1/cmd_vel /turtle1/pose
[INFO] [rosbag2_storage]: Opened database 'subset'.

[INFO] [rosbag2_transport]: Listening for topics...

[INFO] [rosbag2_transport]: Subscribed to topic '/turtle1/cmd_vel'

[INFO] [rosbag2_transport]: Subscribed to topic '/turtle1/pose'

[INFO] [rosbag2_transport]: All requested topics are subscribed. Stopping discovery...

-o选项允许您为 bag 目录选择一个唯一的名称。后面的字符串(本例中为subset)是 bag 目录名称。

要同时记录多个话题,只需在--topics后面用空格分隔每个话题。在这种情况下,上面的命令输出确认了两个话题都被记录。

您可以移动乌龟,完成后按Ctrl-C

注意:您还可以在命令中添加另一个选项-a,它会记录系统上的所有话题。

3.3 将记录分割成多个文件

您还可以根据记录持续时间或文件大小将记录分割成多个文件。-d <max_bag_duration>确保每个文件在开始写入新文件之前持续时间不超过<max_bag_duration>秒,或者-b <max_bag_size>确保每个文件大小不超过<max_bag_size>字节。这可以防止文件过大难以处理,并在记录操作在某个时间点损坏时保护数据不全部丢失。

运行以下命令至少 15 秒,以便写入三个 5 秒的 bag 文件:

$ ros2 bag record -o subset_split -d 5 --topics /turtle1/cmd_vel /turtle1/pose
[INFO] [rosbag2_recorder]: Press SPACE for pausing/resuming

[INFO] [rosbag2_recorder]: Listening for topics...

[INFO] [rosbag2_recorder]: Event publisher thread: Starting

[INFO] [rosbag2_recorder]: Recording...

[INFO] [rosbag2_recorder]: Subscribed to topic '/turtle1/cmd_vel'

[INFO] [rosbag2_recorder]: Subscribed to topic '/turtle1/pose'

[INFO] [rosbag2_recorder]: All requested topics are subscribed. Stopping discovery...

[INFO] [rosbag2_cpp]: Writing remaining messages from cache to the bag. It may take a while

[INFO] [rosbag2_cpp]: Writing remaining messages from cache to the bag. It may take a while

[INFO] [rosbag2_cpp]: Writing remaining messages from cache to the bag. It may take a while

完成后按Ctrl-C。您应该找到一个subset_split目录,其中包含这些文件:0_subset_split_YYYY_MM_DD-HH_MM_SS.mcap1_subset_split_YYYY_MM_DD-HH_MM_SS.mcap,等等。

检查话题数据

您可以通过运行以下命令查看记录的详细信息:

$ ros2 bag info <bag_name>

subset bag 记录上运行此命令将返回一个信息列表:

$ ros2 bag info subset
Files: subset_0.mcap

Bag size: 228.5 KiB

Storage id: mcap

ROS Distro: lyrical

Duration: 48.47s

Start: Oct 11 2019 06:09:09.12 (1570799349.12)

EndOct 11 2019 06:09:57.60 (1570799397.60)

Messages: 3013

Topic information: Topic: /turtle1/cmd_vel | Type: geometry_msgs/msg/Twist | Count: 9 | Serialization Format: cdr

Topic:/turtle1/pose | Type: turtlesim_msgs/msg/Pose | Count: 3004 | Serialization Format: cdr

Services: 0

Service information:

Actions: 0

Action information:

或者,您也可以在单个文件上调用ros2 bag info,例如subset_split/0_subset_split_YYYY_MM_DD-HH_MM_SS.mcap,它将仅显示该部分记录的信息;在本例中为前 5 秒。

回放话题数据

5.1 回放单个 bag

在回放 bag 之前,在运行遥控器的终端中输入Ctrl-C。然后确保您的turtlesim窗口可见,以便查看 bag 文件的运行效果。

输入命令:

$ ros2 bag play subset

[INFO] [rosbag2_player]: Set rate to 1

[INFO] [rosbag2_player]: Adding keyboard callbacks.

[INFO] [rosbag2_player]: Press SPACE for Pause/Resume

[INFO] [rosbag2_player]: Press CURSOR_RIGHT for Play Next Message

[INFO] [rosbag2_player]: Press CURSOR_UP for Increase Rate 10%

[INFO] [rosbag2_player]: Press CURSOR_DOWN for Decrease Rate 10%

Progress bar enabled at 3 Hz.

Progress bar [?]: [R]unning, [P]aused, [B]urst, [D]elayed, [S]topped

[INFO] [rosbag2_player]: Playback until timestamp: -1

====== Playback Progress ======

[1751923361.427372456] Duration 0.00/48.47 [R]

您的乌龟将跟随您记录时输入的相同路径(虽然不是 100% 完全相同;turtlesim对系统时间的微小变化很敏感)。

因为subset文件记录了/turtle1/pose话题,只要turtlesim在运行,ros2 bag play命令就不会退出,即使您没有移动乌龟。

这是因为只要/turtlesim节点处于活动状态,它就会定期在/turtle1/pose话题上发布数据。您可能注意到在上述ros2 bag info示例结果中,/turtle1/cmd_vel话题的Count信息只有 9;那正是我们记录时按下箭头键的次数。

注意/turtle1/poseCount值超过 3000;当我们在记录时,该话题上发布了 3000 次数据。

要了解位置数据发布的频率,您可以运行命令:

$ ros2 topic hz /turtle1/pose

5.2 回放多个 bag

有时,为了分配记录工作负载,将所需的记录话题分割到多个记录中是相关的。例如,我们可以将/turtle1/cmd_vel/turtle1/pose各自记录到自己的 bag 中。

创建两个终端实例。在第一个终端中,运行:

$ ros2 bag record -o subset_cmd_vel --topics /turtle1/cmd_vel

在第二个终端中,运行:

$ ros2 bag record -o subset_pose --topics /turtle1/pose

像之前一样移动乌龟,完成后按Ctrl-C结束两个记录。

要让这两个记录以正确的时序并行回放,为每个要包含的 bag 使用-i <bag_name>调用ros2 bag play。在本例中,运行:

$ ros2 bag play -isubset_cmd_vel -isubset_pose

这将一起回放subset_cmd_velsubset_pose记录,回放同步以复制原始消息顺序。如果使用,可选参数--message-order {received,sent}确定消息是按照接收时间还是发布时间排序(默认为 received)。这也适用于回放单个 bag

管理服务数据

环境准备

您将记录introspection_clientintrospection_service之间的服务数据,然后稍后显示和回放相同的数据。要记录服务客户端和服务器之间的服务数据,必须在节点上启用服务内省

让我们启动introspection_clientintrospection_service节点并启用服务内省。您可以查看服务内省演示以获取更多详细信息。

打开一个新终端并运行introspection_service,启用服务内省

$ ros2 run demo_nodes_cppintrospection_service --ros-args -p service_configure_introspection:=contents

打开另一个终端并运行introspection_client,启用服务内省

$ ros2 run demo_nodes_cppintrospection_client --ros-args -p client_configure_introspection:=contents

检查服务可用性

ros2 bag只能记录来自可用服务的数据。要查看系统的服务列表,打开一个新终端并运行命令:

$ ros2 service list

/add_two_ints

/introspection_client/describe_parameters

/introspection_client/get_parameter_types

/introspection_client/get_parameters

/introspection_client/get_type_description

/introspection_client/list_parameters

/introspection_client/set_parameters

/introspection_client/set_parameters_atomically

/introspection_service/describe_parameters

/introspection_service/get_parameter_types

/introspection_service/get_parameters

/introspection_service/get_type_description

/introspection_service/list_parameters

/introspection_service/set_parameters

/introspection_service/set_parameters_atomically

要检查客户端和服务上是否启用了服务内省,运行命令:

$ ros2 service echo --flow-style /add_two_ints

info:

event_type: REQUEST_SENT

stamp:

sec:1713995389

nanosec: 386809259

client_gid: [1, 15, 96, 219, 162, 1, 108, 201, 0, 0, 0, 0, 0, 0, 21, 3]

sequence_number: 133

request:[{a: 2, b: 3}]

response:[]

---

您应该看到服务通信。

记录服务

要记录服务数据,支持以下选项。服务数据可以与话题同时记录。

记录特定服务:

$ ros2 bag record --service <service_names>

记录所有服务:

$ ros2 bag record --all-services

运行命令:

$ ros2 bag record --service /add_two_ints
[INFO] [1713995957.643573503] [rosbag2_recorder]: Press SPACE for pausing/resuming

[INFO] [1713995957.662067587] [rosbag2_recorder]: Event publisher thread: Starting

[INFO] [1713995957.662067614] [rosbag2_recorder]: Listening for topics...

[INFO] [1713995957.666048323] [rosbag2_recorder]: Subscribed to topic '/add_two_ints/_service_event'

[INFO] [1713995957.666092458] [rosbag2_recorder]: Recording...

现在ros2 bag正在记录发布到/add_two_ints服务的服务数据。要停止记录,在终端中输入Ctrl-C

数据将积累在一个新的 bag 目录中,目录名称模式为rosbag2___-__。此目录将包含一个metadata.yaml以及记录格式的 bag 文件。

检查服务数据

您可以通过运行以下命令查看记录的详细信息:

$ ros2 bag info <bag_file_name>
Files: rosbag2_2024_04_24-14_59_17_0.mcap

Bag size: 15.1 KiB

Storage id: mcap

ROS Distro: lyrical

Duration: 9.211s

Start: Apr 24 2024 14:59:17.676 (1713995957.676)

End: Apr 24 2024 14:59:26.888 (1713995966.888)

Messages: 0

Topic information:

Service: 1

Service information: Service: /add_two_ints | Type: example_interfaces/srv/AddTwoInts | Event Count: 78 | Serialization Format: cdr

回放服务数据

在回放 bag 文件之前,在运行introspection_client的终端中输入Ctrl-C。当introspection_client停止运行时,introspection_service也会停止打印结果,因为没有传入请求。

 bag 文件回放服务数据将开始向introspection_service发送请求。

输入命令:

$ ros2 bag play --publish-service-requests <bag_file_name>
[INFO] [1713997477.870856190] [rosbag2_player]: Set rate to 1

[INFO] [1713997477.877417477] [rosbag2_player]: Adding keyboard callbacks.

[INFO] [1713997477.877442404] [rosbag2_player]: Press SPACE for Pause/Resume

[INFO] [1713997477.877447855] [rosbag2_player]: Press CURSOR_RIGHT for Play Next Message

[INFO] [1713997477.877452655] [rosbag2_player]: Press CURSOR_UP for Increase Rate 10%

[INFO] [1713997477.877456954] [rosbag2_player]: Press CURSOR_DOWN for Decrease Rate 10%

[INFO] [1713997477.877573647] [rosbag2_player]: Playback until timestamp: -1

您的introspection_service终端将再次开始打印以下服务消息:

[INFO] [1713997478.090466075] [introspection_service]: Incoming request
a: 2 b: 3

这是因为ros2 bag play bag 文件中的服务请求数据发送到/add_two_ints服务。

我们还可以在ros2 bag play回放时内省服务通信,以验证introspection_service

ros2 bag play之前运行此命令以查看introspection_service

$ ros2 service echo --flow-style /add_two_ints

您可以看到来自 bag 文件的服务请求和来自introspection_service的服务响应。

info:

event_type: REQUEST_RECEIVED

stamp:

sec:1713998176

nanosec: 372700698

client_gid: [1, 15, 96, 219, 80, 2, 158, 123, 0, 0, 0, 0, 0, 0, 20, 4]

sequence_number: 1

request:[{a: 2, b: 3}]

response:[]

---

info:

event_type: RESPONSE_SENT

stamp:

sec:1713998176

nanosec: 373016882

client_gid: [1, 15, 96, 219, 80, 2, 158, 123, 0, 0, 0, 0, 0, 0, 20, 4]

sequence_number: 1

request:[]

response:[{sum: 5}]

管理动作数据

环境准备

您将记录fibonacci_action_clientfibonacci_action_server之间的动作数据,然后稍后显示和回放相同的数据。要记录动作客户端和服务器之间的动作数据,必须在节点上启用动作内省

让我们启动fibonacci_action_clientfibonacci_action_server节点并启用动作内省。您可以查看动作内省演示以获取更多详细信息。

打开一个新终端并运行fibonacci_action_server,启用动作内省

$ ros2 run action_tutorials_pyfibonacci_action_server --ros-args -p action_server_configure_introspection:=contents

打开另一个终端并运行fibonacci_action_client,启用动作内省

$ ros2 run action_tutorials_cppfibonacci_action_client --ros-args -p action_client_configure_introspection:=contents

检查动作可用性

ros2 bag只能记录来自可用动作的数据。要查看系统的动作列表,打开一个新终端并运行命令:

$ ros2 action list
/fibonacci

要检查动作上是否启用了动作内省,运行命令:

$ ros2 action echo --flow-style /fibonacci
interface: GOAL_SERVICE

info:

event_type: REQUEST_SENT

stamp:

sec:1744917904

nanosec: 760683446

client_gid: [1, 15, 165, 231, 234, 109, 65, 202, 0, 0, 0, 0, 0, 0, 19, 4]

sequence_number: 1

request:[{goal_id: {uuid: [81, 55, 121, 145, 81, 66, 209, 93, 214, 113, 255, 100, 120, 6, 102, 83]}, goal: {order: 10}}]

response:[]

---

...

记录动作

要记录动作数据,支持以下选项。动作数据可以与话题和服务同时记录。

记录特定动作:

$ ros2 bag record --action <action_names>

记录所有动作:

$ ros2 bag record --all-actions

运行命令:

$ ros2 bag record --action /fibonacci

[INFO] [1744953225.214114862] [rosbag2_recorder]: Press SPACE for pausing/resuming

[INFO] [1744953225.218369761] [rosbag2_recorder]: Listening for topics...

[INFO] [1744953225.218386223] [rosbag2_recorder]: Event publisher thread: Starting

[INFO] [1744953225.218580294] [rosbag2_recorder]: Recording...

[INFO] [1744953225.725417634] [rosbag2_recorder]: Subscribed to topic '/fibonacci/_action/cancel_goal/_service_event'

[INFO] [1744953225.727901848] [rosbag2_recorder]: Subscribed to topic '/fibonacci/_action/feedback'

[INFO] [1744953225.729655213] [rosbag2_recorder]: Subscribed to topic '/fibonacci/_action/get_result/_service_event'

[INFO] [1744953225.731315612] [rosbag2_recorder]: Subscribed to topic '/fibonacci/_action/send_goal/_service_event'

[INFO] [1744953225.735061252] [rosbag2_recorder]: Subscribed to topic '/fibonacci/_action/status'

...

现在ros2 bag正在记录/fibonacci动作的动作数据:目标、结果和反馈。要停止记录,在终端中输入Ctrl-C

数据将积累在一个新的 bag 目录中,目录名称模式为rosbag2___-__。此目录将包含一个metadata.yaml以及记录格式的 bag 文件。

检查动作数据

您可以通过运行以下命令查看记录的详细信息:

$ ros2 bag info <bag_file_name>
Files: rosbag2_2025_04_17-22_20_40_0.mcap

Bag size: 20.7 KiB

Storage id: mcap

ROS Distro: lyrical

Duration: 9.019568080s

Start: Apr 17 2025 22:20:47.263125070 (1744953647.263125070)

End: Apr 17 2025 22:20:56.282693150 (1744953656.282693150)

Messages: 0

Topic information:

Services: 0

Service information:

Actions: 1

Action information:

Action:/fibonacci | Type: example_interfaces/action/Fibonacci | Topics: 2 | Service: 3 | Serialization Format: cdr

Topic:feedback | Count: 9

Topic:status | Count: 3

Service:send_goal | Event Count: 4

Service:cancel_goal | Event Count: 0

Service:get_result | Event Count: 4

回放动作数据

在回放 bag 文件之前,在运行fibonacci_action_client的终端中输入Ctrl-C。当fibonacci_action_client停止运行时,fibonacci_action_server也会停止打印结果,因为没有传入请求。

 bag 文件回放动作数据将开始向fibonacci_action_server发送请求。

输入命令:

$ ros2 bag play --send-actions-as-client <bag_file_name>
[INFO] [1744953720.691068674] [rosbag2_player]: Set rate to 1

[INFO] [1744953720.702365209] [rosbag2_player]: Adding keyboard callbacks.

[INFO] [1744953720.702409447] [rosbag2_player]: Press SPACE for Pause/Resume

[INFO] [1744953720.702423063] [rosbag2_player]: Press CURSOR_RIGHT for Play Next Message

[INFO] [1744953720.702431404] [rosbag2_player]: Press CURSOR_UP for Increase Rate 10%

[INFO] [1744953720.702437677] [rosbag2_player]: Press CURSOR_DOWN for Decrease Rate 10%

Progress bar enabled at 3 Hz.

Progress bar [?]: [R]unning, [P]aused, [B]urst, [D]elayed, [S]topped

[INFO] [1744953720.702577680] [rosbag2_player]: Playback until timestamp: -1

====== Playback Progress ======

[1744953656.281683207] Duration 9.02/9.02 [R]

您的fibonacci_action_server终端将再次开始打印以下服务消息:

[INFO] [1744953720.815577088] [fibonacci_action_server]: Executing goal...
[INFO] [1744953720.815927050] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1])

[INFO] [1744953721.816509658] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2])

[INFO] [1744953722.817220270] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2, 3])

[INFO] [1744953723.817876426] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2, 3, 5])

[INFO] [1744953724.818498515] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2, 3, 5, 8])

[INFO] [1744953725.819182228] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2, 3, 5, 8, 13])

[INFO] [1744953726.820032562] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2, 3, 5, 8, 13, 21])

[INFO] [1744953727.820738690] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34])

[INFO] [1744953728.821449308] [fibonacci_action_server]: Feedback: array('i', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])

这是因为ros2 bag play bag 文件中的动作目标请求数据发送到/fibonacci动作。

我们还可以在ros2 bag play回放时内省动作通信,以验证fibonacci_action_server

ros2 bag play之前运行此命令以查看fibonacci_action_server。您可以看到来自 bag 文件的动作目标请求和来自fibonacci_action_server的服务响应:

$ ros2 action echo --flow-style /fibonacci
interface: STATUS_TOPIC

status_list: [{goal_info: {goal_id: {uuid: [34, 116, 225, 217, 48, 121, 146, 36, 240, 98, 99, 134, 55, 227, 184, 72]}, stamp: {sec: 1744953720, nanosec: 804984321}}, status: 4}]

---

interface: GOAL_SERVICE

info:

event_type: REQUEST_RECEIVED

stamp:

sec:1744953927

nanosec: 957359210

client_gid: [1, 15, 165, 231, 190, 254, 1, 50, 0, 0, 0, 0, 0, 0, 19, 4]

sequence_number: 1

request:[{goal_id: {uuid: [191, 200, 153, 122, 221, 251, 152, 172, 60, 69, 94, 20, 212, 160, 40, 12]}, goal: {order: 10}}]

response:[]

---

interface: GOAL_SERVICE

info:

event_type: RESPONSE_SENT

stamp:

sec:1744953927

nanosec: 957726145

client_gid: [1, 15, 165, 231, 190, 254, 1, 50, 0, 0, 0, 0, 0, 0, 19, 4]

sequence_number: 1

request:[]

response:[{accepted: true, stamp: {sec: 1744953927, nanosec: 957615866}}]

---

interface: STATUS_TOPIC

status_list: [{goal_info: {goal_id: {uuid: [191, 200, 153, 122, 221, 251, 152, 172, 60, 69, 94, 20, 212, 160, 40, 12]}, stamp: {sec: 1744953927, nanosec: 957663383}}, status: 2}]

---

interface: FEEDBACK_TOPIC

goal_id:

uuid: [191, 200, 153, 122, 221, 251, 152, 172, 60, 69, 94, 20, 212, 160, 40, 12]

feedback:

sequence:[0, 1, 1]

---

...

总结

您可以使用ros2 bag命令记录 ROS 2 系统中话题、服务和动作上传递的数据。无论您是与他人分享您的工作还是内省自己的实验,这都是一个值得了解的好工具。

后续步骤

您已经完成了CLI 工具教程!下一步是开始客户端库教程,从创建工作空间开始。

相关资料

关于ros2 bag的更详细解释可以在README中找到。关于服务记录和回放的更多信息可以在设计文档中找到。关于动作记录和回放的更多信息可以在设计文档中找到。有关 QoS 兼容性和ros2 bag的更多信息,请参阅rosbag2:覆盖 QoS 策略

本文档完整翻译自 ROS 2 Lyrical 官方文档,仅用于学习交流。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-02 06:26:11 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/693790.html
  2. 运行时间 : 0.234244s [ 吞吐率:4.27req/s ] 内存消耗:4,720.32kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=c61bdb9efb1592311b71726e30d689a1
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001127s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.002002s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000769s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000689s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001627s ]
  6. SELECT * FROM `set` [ RunTime:0.000613s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001860s ]
  8. SELECT * FROM `article` WHERE `id` = 693790 LIMIT 1 [ RunTime:0.001424s ]
  9. UPDATE `article` SET `lasttime` = 1780352771 WHERE `id` = 693790 [ RunTime:0.015161s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.004632s ]
  11. SELECT * FROM `article` WHERE `id` < 693790 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001942s ]
  12. SELECT * FROM `article` WHERE `id` > 693790 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001197s ]
  13. SELECT * FROM `article` WHERE `id` < 693790 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001971s ]
  14. SELECT * FROM `article` WHERE `id` < 693790 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.003976s ]
  15. SELECT * FROM `article` WHERE `id` < 693790 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002534s ]
0.238216s