Skip to content

Commit feaa8f5

Browse files
authored
Merge branch 'master' into telink_tl3218x_retention
2 parents c3e872a + 78e5932 commit feaa8f5

File tree

6 files changed

+43
-19
lines changed

6 files changed

+43
-19
lines changed

integrations/cloudbuild/smoke-test.yaml

+8-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
steps:
2-
- name: "ghcr.io/project-chip/chip-build-vscode:118"
2+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
3+
34
entrypoint: "bash"
45
args:
56
- "-c"
67
- |
78
git config --global --add safe.directory "*"
89
python scripts/checkout_submodules.py --shallow --recursive --platform esp32 nrfconnect silabs linux android
910
id: Submodules
10-
- name: "ghcr.io/project-chip/chip-build-vscode:118"
11+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
1112
# NOTE: silabs boostrap is NOT done with the rest as it requests a conflicting
1213
# jinja2 version (asks for 3.1.3 when constraints.txt asks for 3.0.3)
1314
env:
@@ -24,7 +25,7 @@ steps:
2425
path: /pwenv
2526
timeout: 900s
2627

27-
- name: "ghcr.io/project-chip/chip-build-vscode:118"
28+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
2829
id: ESP32
2930
env:
3031
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -44,7 +45,7 @@ steps:
4445
volumes:
4546
- name: pwenv
4647
path: /pwenv
47-
- name: "ghcr.io/project-chip/chip-build-vscode:118"
48+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
4849
id: NRFConnect
4950
env:
5051
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -65,7 +66,7 @@ steps:
6566
- name: pwenv
6667
path: /pwenv
6768

68-
- name: "ghcr.io/project-chip/chip-build-vscode:118"
69+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
6970
id: EFR32
7071
env:
7172
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -87,7 +88,7 @@ steps:
8788
- name: pwenv
8889
path: /pwenv
8990

90-
- name: "ghcr.io/project-chip/chip-build-vscode:118"
91+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
9192
id: Linux
9293
env:
9394
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -140,7 +141,7 @@ steps:
140141
- name: pwenv
141142
path: /pwenv
142143

143-
- name: "ghcr.io/project-chip/chip-build-vscode:118"
144+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
144145
id: Android
145146
env:
146147
- PW_ENVIRONMENT_ROOT=/pwenv
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
118 : [Telink] Update Docker image (Zephyr update)
1+
119 : [vscode/java/android] Install JDK 11 in vscode image (java path already set to it)

integrations/docker/images/vscode/chip-build-vscode/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ RUN set -x \
9999
expect \
100100
telnet \
101101
srecord \
102-
openjdk-8-jdk \
102+
openjdk-11-jdk \
103103
&& apt-get clean \
104104
&& rm -rf /var/lib/apt/lists/ \
105105
&& : # last line

src/messaging/ReliableMessageAnalyticsDelegate.h

+5
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222

2323
#pragma once
2424

25+
#include <optional>
26+
2527
#include <lib/core/DataModelTypes.h>
2628
#include <lib/core/NodeId.h>
2729

@@ -65,6 +67,9 @@ class ReliableMessageAnalyticsDelegate
6567
// The outgoing message counter associated with the event. If there is no outgoing message counter
6668
// this value will be 0.
6769
uint32_t messageCounter = 0;
70+
// If the eventType is kRetransmission, this value will be populated with the number of the
71+
// retransmission attempt
72+
std::optional<uint8_t> retransmissionCount;
6873
};
6974

7075
virtual void OnTransmitEvent(const TransmitEvent & event) = 0;

src/messaging/ReliableMessageMgr.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@ void ReliableMessageMgr::NotifyMessageSendAnalytics(const RetransTableEntry & en
126126
ReliableMessageAnalyticsDelegate::SessionType::kEstablishedCase,
127127
.eventType = eventType,
128128
.messageCounter = messageCounter };
129+
130+
if (eventType == ReliableMessageAnalyticsDelegate::EventType::kRetransmission)
131+
{
132+
event.retransmissionCount = entry.sendCount;
133+
}
134+
129135
mAnalyticsDelegate->OnTransmitEvent(event);
130136
}
131137
#endif // CHIP_CONFIG_MRP_ANALYTICS_ENABLED

src/messaging/tests/TestReliableMessageProtocol.cpp

+22-10
Original file line numberDiff line numberDiff line change
@@ -2144,6 +2144,7 @@ TEST_F(TestReliableMessageProtocol, CheckReliableMessageAnalyticsForTransmitEven
21442144
EXPECT_EQ(firstTransmitEvent.nodeId, expectedNodeId);
21452145
EXPECT_EQ(firstTransmitEvent.fabricIndex, expectedFabricIndex);
21462146
EXPECT_EQ(firstTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kInitialSend);
2147+
EXPECT_EQ(firstTransmitEvent.retransmissionCount, std::nullopt);
21472148
// We have no way of validating the first messageCounter since this is a randomly generated value, but it should
21482149
// remain constant for all subsequent transmit events in this test.
21492150
const uint32_t messageCounter = firstTransmitEvent.messageCounter;
@@ -2153,34 +2154,39 @@ TEST_F(TestReliableMessageProtocol, CheckReliableMessageAnalyticsForTransmitEven
21532154
EXPECT_EQ(secondTransmitEvent.nodeId, expectedNodeId);
21542155
EXPECT_EQ(secondTransmitEvent.fabricIndex, expectedFabricIndex);
21552156
EXPECT_EQ(secondTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2157+
EXPECT_EQ(secondTransmitEvent.retransmissionCount, 1);
21562158
EXPECT_EQ(messageCounter, secondTransmitEvent.messageCounter);
21572159

21582160
testAnalyticsDelegate.mTransmitEvents.pop();
21592161
auto thirdTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
21602162
EXPECT_EQ(thirdTransmitEvent.nodeId, expectedNodeId);
21612163
EXPECT_EQ(thirdTransmitEvent.fabricIndex, expectedFabricIndex);
21622164
EXPECT_EQ(thirdTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2165+
EXPECT_EQ(thirdTransmitEvent.retransmissionCount, 2);
21632166
EXPECT_EQ(messageCounter, thirdTransmitEvent.messageCounter);
21642167

21652168
testAnalyticsDelegate.mTransmitEvents.pop();
2166-
auto forthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
2167-
EXPECT_EQ(forthTransmitEvent.nodeId, expectedNodeId);
2168-
EXPECT_EQ(forthTransmitEvent.fabricIndex, expectedFabricIndex);
2169-
EXPECT_EQ(forthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2170-
EXPECT_EQ(messageCounter, forthTransmitEvent.messageCounter);
2169+
auto fourthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
2170+
EXPECT_EQ(fourthTransmitEvent.nodeId, expectedNodeId);
2171+
EXPECT_EQ(fourthTransmitEvent.fabricIndex, expectedFabricIndex);
2172+
EXPECT_EQ(fourthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2173+
EXPECT_EQ(fourthTransmitEvent.retransmissionCount, 3);
2174+
EXPECT_EQ(messageCounter, fourthTransmitEvent.messageCounter);
21712175

21722176
testAnalyticsDelegate.mTransmitEvents.pop();
21732177
auto fifthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
21742178
EXPECT_EQ(fifthTransmitEvent.nodeId, expectedNodeId);
21752179
EXPECT_EQ(fifthTransmitEvent.fabricIndex, expectedFabricIndex);
21762180
EXPECT_EQ(fifthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2181+
EXPECT_EQ(fifthTransmitEvent.retransmissionCount, 4);
21772182
EXPECT_EQ(messageCounter, fifthTransmitEvent.messageCounter);
21782183

21792184
testAnalyticsDelegate.mTransmitEvents.pop();
21802185
auto sixthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
21812186
EXPECT_EQ(sixthTransmitEvent.nodeId, expectedNodeId);
21822187
EXPECT_EQ(sixthTransmitEvent.fabricIndex, expectedFabricIndex);
21832188
EXPECT_EQ(sixthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kAcknowledged);
2189+
EXPECT_EQ(sixthTransmitEvent.retransmissionCount, std::nullopt);
21842190
EXPECT_EQ(messageCounter, sixthTransmitEvent.messageCounter);
21852191
}
21862192

@@ -2280,6 +2286,7 @@ TEST_F(TestReliableMessageProtocol, CheckReliableMessageAnalyticsForTransmitFail
22802286
EXPECT_EQ(firstTransmitEvent.nodeId, expectedNodeId);
22812287
EXPECT_EQ(firstTransmitEvent.fabricIndex, expectedFabricIndex);
22822288
EXPECT_EQ(firstTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kInitialSend);
2289+
EXPECT_EQ(firstTransmitEvent.retransmissionCount, std::nullopt);
22832290
// We have no way of validating the first messageCounter since this is a randomly generated value, but it should
22842291
// remain constant for all subsequent transmit events in this test.
22852292
const uint32_t messageCounter = firstTransmitEvent.messageCounter;
@@ -2289,33 +2296,38 @@ TEST_F(TestReliableMessageProtocol, CheckReliableMessageAnalyticsForTransmitFail
22892296
EXPECT_EQ(secondTransmitEvent.nodeId, expectedNodeId);
22902297
EXPECT_EQ(secondTransmitEvent.fabricIndex, expectedFabricIndex);
22912298
EXPECT_EQ(secondTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2299+
EXPECT_EQ(secondTransmitEvent.retransmissionCount, 1);
22922300
EXPECT_EQ(messageCounter, secondTransmitEvent.messageCounter);
22932301

22942302
testAnalyticsDelegate.mTransmitEvents.pop();
22952303
auto thirdTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
22962304
EXPECT_EQ(thirdTransmitEvent.nodeId, expectedNodeId);
22972305
EXPECT_EQ(thirdTransmitEvent.fabricIndex, expectedFabricIndex);
22982306
EXPECT_EQ(thirdTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2307+
EXPECT_EQ(thirdTransmitEvent.retransmissionCount, 2);
22992308
EXPECT_EQ(messageCounter, thirdTransmitEvent.messageCounter);
23002309

23012310
testAnalyticsDelegate.mTransmitEvents.pop();
2302-
auto forthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
2303-
EXPECT_EQ(forthTransmitEvent.nodeId, expectedNodeId);
2304-
EXPECT_EQ(forthTransmitEvent.fabricIndex, expectedFabricIndex);
2305-
EXPECT_EQ(forthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2306-
EXPECT_EQ(messageCounter, forthTransmitEvent.messageCounter);
2311+
auto fourthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
2312+
EXPECT_EQ(fourthTransmitEvent.nodeId, expectedNodeId);
2313+
EXPECT_EQ(fourthTransmitEvent.fabricIndex, expectedFabricIndex);
2314+
EXPECT_EQ(fourthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
2315+
EXPECT_EQ(fourthTransmitEvent.retransmissionCount, 3);
2316+
EXPECT_EQ(messageCounter, fourthTransmitEvent.messageCounter);
23072317

23082318
testAnalyticsDelegate.mTransmitEvents.pop();
23092319
auto fifthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
23102320
EXPECT_EQ(fifthTransmitEvent.nodeId, expectedNodeId);
23112321
EXPECT_EQ(fifthTransmitEvent.fabricIndex, expectedFabricIndex);
2322+
EXPECT_EQ(fifthTransmitEvent.retransmissionCount, 4);
23122323
EXPECT_EQ(fifthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kRetransmission);
23132324
EXPECT_EQ(messageCounter, fifthTransmitEvent.messageCounter);
23142325

23152326
testAnalyticsDelegate.mTransmitEvents.pop();
23162327
auto sixthTransmitEvent = testAnalyticsDelegate.mTransmitEvents.front();
23172328
EXPECT_EQ(sixthTransmitEvent.nodeId, expectedNodeId);
23182329
EXPECT_EQ(sixthTransmitEvent.fabricIndex, expectedFabricIndex);
2330+
EXPECT_EQ(sixthTransmitEvent.retransmissionCount, std::nullopt);
23192331
EXPECT_EQ(sixthTransmitEvent.eventType, ReliableMessageAnalyticsDelegate::EventType::kFailed);
23202332
EXPECT_EQ(messageCounter, sixthTransmitEvent.messageCounter);
23212333
}

0 commit comments

Comments
 (0)