Skip to content

Commit 5780032

Browse files
authored
Merge branch 'master' into Ashwini_TC_S_2_x
2 parents 0a03315 + 78e5932 commit 5780032

File tree

6 files changed

+42
-19
lines changed

6 files changed

+42
-19
lines changed

integrations/cloudbuild/smoke-test.yaml

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
steps:
2-
- name: "ghcr.io/project-chip/chip-build-vscode:115"
2+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
33
entrypoint: "bash"
44
args:
55
- "-c"
66
- |
77
git config --global --add safe.directory "*"
88
python scripts/checkout_submodules.py --shallow --recursive --platform esp32 nrfconnect silabs linux android
99
id: Submodules
10-
- name: "ghcr.io/project-chip/chip-build-vscode:115"
10+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
1111
# NOTE: silabs boostrap is NOT done with the rest as it requests a conflicting
1212
# jinja2 version (asks for 3.1.3 when constraints.txt asks for 3.0.3)
1313
env:
@@ -24,7 +24,7 @@ steps:
2424
path: /pwenv
2525
timeout: 900s
2626

27-
- name: "ghcr.io/project-chip/chip-build-vscode:115"
27+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
2828
id: ESP32
2929
env:
3030
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -44,7 +44,7 @@ steps:
4444
volumes:
4545
- name: pwenv
4646
path: /pwenv
47-
- name: "ghcr.io/project-chip/chip-build-vscode:115"
47+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
4848
id: NRFConnect
4949
env:
5050
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -65,7 +65,7 @@ steps:
6565
- name: pwenv
6666
path: /pwenv
6767

68-
- name: "ghcr.io/project-chip/chip-build-vscode:115"
68+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
6969
id: EFR32
7070
env:
7171
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -87,7 +87,7 @@ steps:
8787
- name: pwenv
8888
path: /pwenv
8989

90-
- name: "ghcr.io/project-chip/chip-build-vscode:115"
90+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
9191
id: Linux
9292
env:
9393
- PW_ENVIRONMENT_ROOT=/pwenv
@@ -140,7 +140,7 @@ steps:
140140
- name: pwenv
141141
path: /pwenv
142142

143-
- name: "ghcr.io/project-chip/chip-build-vscode:115"
143+
- name: "ghcr.io/project-chip/chip-build-vscode:119"
144144
id: Android
145145
env:
146146
- 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)