Commit a3f798e4 authored by Omid Azizi's avatar Omid Azizi
Browse files

Bringing comments up to date and update SortedIndexes

Summary: Removing unnecessary links and updating some comments.

Test Plan: Existing tests

Reviewers: zasgar, #engineering

Reviewed By: zasgar, #engineering

Differential Revision: https://phab.corp.pixielabs.ai/D6881

GitOrigin-RevId: 39d710a6ae0f27a67d743cdb5eb60b2d5c2a27cf
parent 231e45c8
main snyk-fix-7eb526f73c75336b865418bda117e40b snyk-fix-a916784efb9d8870d42eeba63409bf85 release/vizier/vv0.9.8-pre-test.27 release/vizier/v0.11.7 release/vizier/v0.11.6 release/vizier/v0.11.5 release/vizier/v0.11.4 release/vizier/v0.11.3 release/vizier/v0.11.2 release/vizier/v0.11.1 release/vizier/v0.11.0 release/vizier/v0.10.22 release/vizier/v0.10.21 release/vizier/v0.10.20 release/vizier/v0.10.19 release/vizier/v0.10.18 release/vizier/v0.10.17 release/vizier/v0.10.16 release/vizier/v0.10.15 release/vizier/v0.10.14 release/vizier/v0.10.13 release/vizier/v0.10.12 release/vizier/v0.10.11 release/vizier/v0.10.10 release/vizier/v0.10.9 release/vizier/v0.10.8 release/vizier/v0.10.7 release/vizier/v0.10.6 release/vizier/v0.10.5 release/vizier/v0.10.4 release/vizier/v0.10.3 release/vizier/v0.10.2 release/vizier/v0.10.1 release/vizier/v0.10.0 release/vizier/v0.9.16 release/vizier/v0.9.14 release/vizier/v0.9.14-pre-main.5 release/vizier/v0.9.13 release/vizier/v0.9.13-pre-r0.17 release/vizier/v0.9.12 release/vizier/v0.9.12-pre-r0.1 release/vizier/v0.9.11 release/vizier/v0.9.11-pre-r0.32 release/vizier/v0.9.11-pre-r0.29 release/vizier/v0.9.11-pre-main.9 release/vizier/v0.9.8 release/vizier/v0.9.8-pre-test.27 release/vizier/v0.9.8-pre-test2.28 release/vizier/v0.9.7 release/vizier/v0.9.7-pre-r0.7 release/vizier/v0.9.7-pre-main.27 release/vizier/v0.9.6 release/vizier/v0.9.5 release/vizier/v0.9.5-pre-r0.13 release/vizier/v0.9.5-pre-main.18 release/vizier/v0.9.5-pre-main.17 release/vizier/v0.9.5-pre-main.14 release/vizier/v0.9.5-pre-etcdConfig.15 release/vizier/v0.9.4 release/vizier/v0.9.3 release/vizier/v0.9.2 release/vizier/v0.9.1 release/vizier/v0.9.0 release/vizier/v0.8.10 release/vizier/v0.8.9 release/vizier/v0.8.8 release/vizier/v0.8.7 release/vizier/v0.8.6 release/vizier/v0.8.5 release/vizier/v0.8.3 release/vizier/v0.8.2 release/vizier/v0.8.1 release/vizier/v0.8.0 release/vizier/v0.7.19 release/vizier/v0.7.18 release/vizier/v0.7.17 release/vizier/v0.7.16 release/vizier/v0.7.15 release/vizier/v0.7.14 release/vizier/v0.7.13 release/vizier/v0.7.12 release/vizier/v0.7.11 release/vizier/v0.7.10 release/vizier/v0.7.9 release/vizier/v0.7.8 release/vizier/v0.7.7 release/vizier/v0.7.6 release/vizier/v0.7.5 release/vizier/v0.7.4 release/vizier/v0.7.3 release/vizier/v0.7.2 release/vizier/v0.7.1 release/vizier/v0.6.5 release/vizier/v0.6.4 release/vizier/v0.6.3 release/vizier/v0.6.2 release/vizier/v0.6.1 release/vizier/v0.6.0 release/vizier/v0.5.34 release/vizier/v0.5.32 release/vizier/v0.5.31 release/vizier/v0.5.30 release/vizier/v0.5.29 release/vizier/v0.5.28 release/vizier/v0.5.27 release/vizier/v0.5.26 release/vizier/v0.5.25 release/vizier/v0.5.24 release/vizier/v0.5.23 release/vizier/v0.5.22 release/vizier/v0.5.21 release/vizier/v0.5.20 release/vizier/v0.5.19 release/vizier/v0.5.18 release/vizier/v0.5.17 release/vizier/v0.5.16 release/vizier/v0.5.15 release/operator/v0.0.30 release/operator/v0.0.29 release/operator/v0.0.28 release/operator/v0.0.27 release/operator/v0.0.26 release/operator/v0.0.25 release/operator/v0.0.24 release/operator/v0.0.23 release/operator/v0.0.22 release/operator/v0.0.21 release/operator/v0.0.20 release/operator/v0.0.19 release/operator/v0.0.18 release/operator/v0.0.17 release/operator/v0.0.16 release/operator/v0.0.15 release/operator/v0.0.15-pre-r0.6 release/operator/v0.0.14 release/operator/v0.0.14-pre-zOperator3.8 release/operator/v0.0.14-pre-r0.8 release/operator/v0.0.13 release/operator/v0.0.13-pre-test.5 release/operator/v0.0.13-pre-main.5 release/operator/v0.0.12 release/operator/v0.0.12-pre-main.6 release/operator/v0.0.11 release/operator/v0.0.10 release/operator/v0.0.9 release/operator/v0.0.7 release/operator/v0.0.5 release/operator/v0.0.2 release/cloud/staging/1637355758 release/cloud/staging/1637266321 release/cloud/staging/1637083942 release/cloud/staging/1636658412 release/cloud/staging/1636655115 release/cloud/staging/1636566009 release/cloud/staging/1636486580 release/cloud/staging/1635273164 release/cloud/staging/1634664761 release/cloud/staging/1634662582 release/cloud/staging/1634426539 release/cloud/staging/1634255213 release/cloud/staging/1633889214 release/cloud/staging/1633467640 release/cloud/staging/1633377421 release/cloud/staging/1632931048 release/cloud/staging/1632880554 release/cloud/staging/1631813710 release/cloud/staging/1631205641 release/cloud/prod/1658198111 release/cloud/prod/1658185818 release/cloud/prod/1658183222 release/cloud/prod/1657740688 release/cloud/prod/1657049209 release/cloud/prod/1656629056 release/cloud/prod/1656527373 release/cloud/prod/1656452950 release/cloud/prod/1655997138 release/cloud/prod/1655226092 release/cloud/prod/1654806360 release/cloud/prod/1654144074 release/cloud/prod/1654133791 release/cloud/prod/1652313416 release/cloud/prod/1652304483 release/cloud/prod/1652214656 release/cloud/prod/1651864223 release/cloud/prod/1651799821 release/cloud/prod/1651704659 release/cloud/prod/1651616922 release/cloud/prod/1650645384 release/cloud/prod/1650480744 release/cloud/prod/1650306041 release/cloud/prod/1650056868 release/cloud/prod/1650039340 release/cloud/prod/1649978499 release/cloud/prod/1649797942 release/cloud/prod/1649787581 release/cloud/prod/1649269698 release/cloud/prod/1649107437 release/cloud/prod/1648586238 release/cloud/prod/1647992139 release/cloud/prod/1647379907 release/cloud/prod/1646182041 release/cloud/prod/1644961014 release/cloud/prod/1644348245 release/cloud/prod/1643849214 release/cloud/prod/1643826488 release/cloud/prod/1643153852 release/cloud/prod/1643056106 release/cloud/prod/1643052598 release/cloud/prod/1642705917 release/cloud/prod/1642632551 release/cloud/prod/1642205277 release/cloud/prod/1642145141 release/cloud/prod/1642141551 release/cloud/prod/1642139120 release/cloud/prod/1642134238 release/cloud/prod/1642130337 release/cloud/prod/1642126826 release/cloud/prod/1642124521 release/cloud/prod/1642109235 release/cloud/prod/1641941995 release/cloud/prod/1641420513 release/cloud/prod/1641254216 release/cloud/prod/1638917470 release/cloud/prod/1637096190 release/cloud/prod/1636492829 release/cloud/prod/1635286066 release/cloud/prod/1634668183 release/cloud/prod/1634663695 release/cloud/prod/1634282223 release/cloud/prod/1633893408 release/cloud/prod/1633710125 release/cloud/prod/1633560085 release/cloud/prod/1633495949 release/cloud/prod/1633474704 release/cloud/prod/1633379527 release/cloud/prod/1632935904 release/cloud/prod/1631826310 release/cloud/prod/1630737620 release/cloud/prod/1630714187 release/cloud/prod/1630622583 release/cloud/prod/1630433362 release/cloud/prod/1630110767 release/cloud/prod/1629952882 release/cloud/prod/1629920564 release/cloud/prod/1629851112 release/cloud/prod/1629494063 release/cloud/prod/1629339917 release/cloud/prod/1629337848 release/cloud/prod/1629335332 release/cloud/prod/1629311730 release/cloud/prod/1629166688 release/cloud/prod/1629166023 release/cloud/prod/1629165964 release/cloud/prod/1629151138 release/cloud/prod/1628025334 release/cloud/prod/1627971857 release/cloud/prod/1627943140 release/cloud/prod/1627935195 release/cloud/prod/1627644793 release/cloud/prod/1627601637 release/cloud/prod/1627445520 release/cloud/prod/1627421364 release/cloud/prod/1626909202 release/cloud/prod/1626824610 release/cloud/prod/1626391194 release/cloud/prod/1626321970 release/cloud/prod/1626073778 release/cloud/prod/1625699466 release/cloud/prod/1625253333 release/cloud/prod/1625249910 release/cloud/prod/1625013333 release/cloud/prod/1625003953 release/cloud/prod/1625001388 release/cloud/prod/1624993505 release/cloud/prod/1624989299 release/cloud/prod/1623456844 release/cloud/prod/1622779032 release/cloud/prod/1621989349 release/cloud/prod/1621986389 release/cloud/prod/1621964672 release/cloud/prod/1621920686 release/cloud/prod/1621917276 release/cloud/prod/1621882022 release/cloud/prod/1620958944 release/cloud/prod/1620945558 release/cloud/prod/1620327546 release/cloud/prod/1620273211 release/cloud/prod/1620271073 release/cloud/prod/1620090826 release/cloud/prod/1619828773 release/cloud/prod/1619741770 release/cloud/prod/1619126029 release/cloud/prod/1618639797 release/cloud/prod/1618522037 release/cloud/prod/1617918178 release/cloud/prod/1617647275 release/cloud/prod/1617133715 release/cloud/prod/1616658618 release/cloud/prod/1616654932 release/cloud/prod/1616448710 release/cloud/prod/1615945400 release/cloud/prod/1615831644 release/cloud/prod/1615576886 release/cloud/prod/1615411712 release/cloud/prod/1615077380 release/cloud/prod/1614910099 release/cloud/prod/1614641663 release/cloud/prod/1614386136 release/cloud/prod/1614285784 release/cloud/prod/1613673078 release/cloud/prod/1613098936 release/cloud/prod/1611730359 release/cloud/prod/1611722282 release/cloud/prod/1610649625 release/cloud/prod/1608860073 release/cloud/prod/1608187571 release/cloud/prod/1608153468 release/cloud/prod/1607821788 release/cloud/prod/1607641202 release/cloud/prod/1607635321 release/cloud/prod/1607579123 release/cloud/prod/1607572443 release/cloud/prod/1607565545 release/cloud/prod/1607558233 release/cloud/prod/1607365867 release/cli/v0.7.16 release/cli/v0.7.15 release/cli/v0.7.14 release/cli/v0.7.13 release/cli/v0.7.12 release/cli/v0.7.11 release/cli/v0.7.10 release/cli/v0.7.9 release/cli/v0.7.8 release/cli/v0.7.7 release/cli/v0.7.6 release/cli/v0.7.5 release/cli/v0.7.4 release/cli/v0.7.3 release/cli/v0.7.2 release/cli/v0.7.1 release/cli/v0.7.1-pre-r0.5 release/cli/v0.7.0 release/cli/v0.7.0-pre-main.11 release/cli/v0.6.8-pre-main.9 release/cli/v0.6.7 release/cli/v0.6.6 release/cli/v0.6.5 release/cli/v0.6.4 release/cli/v0.6.3 release/cli/v0.6.2 release/cli/v0.6.1 release/cli/v0.5.14 release/cli/v0.5.13 release/cli/v0.5.12 release/cli/v0.5.11 release/cli/v0.5.9 release/cli/v0.5.8 release/cli/v0.5.7 release/cli/v0.5.6 release/cli/v0.5.5 release/cli/v0.5.4 release/cli/v0.5.3 release/cli/v0.5.2 release/cli/v0.5.1 release/cli/v0.4.0 release/cli/v0.3.29 release/cli/v0.3.28 release/cli/v0.3.27 release/cli/v0.3.26 release/cli/v0.3.25 release/cli/v0.3.24 release/cli/v0.3.23 release/cli/v0.3.22 release/cli/v0.3.21 release/cli/v0.3.20 release/cli/v0.3.19 release/cli/v0.3.18 release/cli/v0.3.17
No related merge requests found
Showing with 21 additions and 18 deletions
+21 -18
......@@ -271,13 +271,16 @@ static __inline enum MessageType infer_http2_message(const char* buf, size_t cou
}
static __inline enum MessageType infer_dns_message(const char* buf, size_t count) {
// https://stackoverflow.com/questions/6794926/how-many-a-records-can-fit-in-a-single-dns-response
const int kDNSHeaderSize = 12;
// Use the maximum *guaranteed* UDP packet size as the max DNS message size.
// UDP packets can be larger, but this is the typical maximum size for DNS.
const int kMaxDNSMessageSize = 512;
// Maximum number of resource records.
// https://stackoverflow.com/questions/6794926/how-many-a-records-can-fit-in-a-single-dns-response
const int kMaxNumRR = 25;
if (count < kDNSHeaderSize || count > kMaxDNSMessageSize) {
return kUnknown;
}
......@@ -306,9 +309,8 @@ static __inline enum MessageType infer_dns_message(const char* buf, size_t count
return kUnknown;
}
// https://stackoverflow.com/questions/6794926/how-many-a-records-can-fit-in-a-single-dns-response
uint32_t num_rr = num_questions + num_answers + num_auth + num_addl;
if (num_rr > 25) {
if (num_rr > kMaxNumRR) {
return kUnknown;
}
......
......@@ -46,14 +46,16 @@ namespace {
// Note 2: There are different ways to define the reorder indexes.
// Here we use the form where the result, idx, is used to sort x according to:
// { x[idx[0]], x[idx[1]], x[idx[2]], ... }
// From https://stackoverflow.com/questions/1577475/c-sorting-and-keeping-track-of-indexes
std::vector<size_t> SortedIndexes(const std::vector<uint64_t> v) {
// Initialize original index locations.
std::vector<size_t> SortedIndexes(const std::vector<uint64_t>& v) {
// Create indices corresponding to v.
std::vector<size_t> idx(v.size());
std::iota(idx.begin(), idx.end(), 0);
// Initialize idx = {0, 1, 2, 3, ... }
for (size_t i = 0; i < idx.size(); ++i) {
idx[i] = i;
}
// Sort indexes based on comparing values in v using std::stable_sort instead of std::sort
// to avoid unnecessary index re-orderings when v contains elements of equal values.
// Find the sorted indices by running a sort on idx, but using the values of v.
// Use std::stable_sort instead of std::sort to minimize churn in indices.
std::stable_sort(idx.begin(), idx.end(), [&v](size_t i1, size_t i2) { return v[i1] < v[i2]; });
return idx;
......
......@@ -283,7 +283,10 @@ StatusOr<std::vector<std::string>> GenPtrLenVariable(const PtrLenVariable& var)
// Make sure we don't overrun the buffer by capping the length (also required for verifier).
// Below, we want the size of blobXX->buf. We can do that with this trick:
// https://stackoverflow.com/questions/3553296/sizeof-single-struct-member-in-c
// sizeof(((struct blobXX)0)->buf)
// This trick won't cause a null dereference because it's just for the compiler
// to find the size of the member; there is no real data access at run-time.
// See https://stackoverflow.com/questions/3553296/sizeof-single-struct-member-in-c
code_lines.push_back(absl::Substitute(
"uint8_t $0_truncate__ = $0 > sizeof(((struct blob$1*)0)->buf);", var.len_var_name(), size));
code_lines.push_back(absl::Substitute(
......
......@@ -97,7 +97,6 @@ rm -rf ${LOGDIR:?}/*
timestamp=$(date +%s)
for pod in $pods; do
# xargs removes the leading and trailing white spaces.
# See https://stackoverflow.com/a/12973694
node_name="$(kubectl get pod "${pod}" -n "${NAMESPACE}" -o=custom-columns=:.spec.nodeName | xargs)"
filename="${LOGDIR}/log$timestamp.$pod.${node_name}"
kubectl logs -n "${NAMESPACE}" "$pod" > "$filename"
......
......@@ -325,7 +325,7 @@ std::vector<uint64_t> FindRetInsts(utils::u8string_view byte_code) {
// code, we just provide a small buffer.
// (Unfortunately, nullptr and 0 crashes.)
constexpr int kBufSize = 32;
// Initialize array to zero. See more details at: https://stackoverflow.com/a/5591516.
// Initialize array to zero.
char buf[kBufSize] = {};
uint64_t pc = 0;
......
......@@ -66,7 +66,6 @@ constexpr std::string_view kNoProtocolMsg = R"(This is not an HTTP message)";
// This test requires docker container with --pid=host so that the container's PID and the
// host machine are identical.
// See https://stackoverflow.com/questions/33328841/pid-mapping-between-docker-and-host
// TODO(yzhao): Apply this pattern to other syscall pairs. An issue is that other syscalls do not
// use scatter buffer. One approach would be to concatenate inner vector to a single string, and
......
......@@ -2,9 +2,7 @@
bazel run //src/stirling/testing/java:push_hello_world_image
# Because simply apply the yaml file would not force re-pulling the image, as the tag has not been
# changed. We have to delete and then apply.
# We can use kubectl rollout restart:
# https://stackoverflow.com/a/51835397
# kubectl apply does not force re-pulling the image, as the tag has not changed.
# We have to delete and then apply.
kubectl delete -f src/stirling/testing/java/hello_world.yaml
kubectl apply -f src/stirling/testing/java/hello_world.yaml
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment