Skip to content

Commit 575d89d

Browse files
authored
fix: agent - eBPF Random time to process symbol table creation (#8283)
1 parent 0cfe365 commit 575d89d

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

agent/src/ebpf/user/proc.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ static inline bool is_existed_in_exit_cache(struct symbolizer_cache_kvp *kv)
218218
vec_foreach(kv_tmp, pids_cache.exit_pids_cache) {
219219
if ((int)kv_tmp->k.pid == kv->k.pid) {
220220
struct symbolizer_proc_info *list_p =
221-
(struct symbolizer_proc_info *)kv_tmp->v.
222-
proc_info_p;
221+
(struct symbolizer_proc_info *)kv_tmp->
222+
v.proc_info_p;
223223
struct symbolizer_proc_info *curr_p =
224224
(struct symbolizer_proc_info *)kv->v.proc_info_p;
225225
ebpf_warning
@@ -249,8 +249,8 @@ static inline bool is_existed_in_exec_cache(struct symbolizer_cache_kvp *kv)
249249
vec_foreach(kv_tmp, pids_cache.exec_pids_cache) {
250250
if ((int)kv_tmp->k.pid == kv->k.pid) {
251251
struct symbolizer_proc_info *list_p =
252-
(struct symbolizer_proc_info *)kv_tmp->v.
253-
proc_info_p;
252+
(struct symbolizer_proc_info *)kv_tmp->
253+
v.proc_info_p;
254254
struct symbolizer_proc_info *curr_p =
255255
(struct symbolizer_proc_info *)kv->v.proc_info_p;
256256
if (curr_p != 0 && list_p != 0) {
@@ -770,19 +770,20 @@ void *get_symbol_cache(pid_t pid, bool new_cache)
770770
p->update_syms_table_time =
771771
curr_time +
772772
get_java_syms_fetch_delay();
773+
} else {
774+
p->update_syms_table_time = curr_time;
773775
}
774776

775777
/*
776778
* When the deepflow-agent is started, to avoid the sudden
777779
* generation of Java symbol tables, additional random value
778780
* for each java process's delay.
781+
* The same applies to non-Java processes, which also perform
782+
* random symbol table loading within one minute.
779783
*/
780-
if (p->syms_cache == 0
781-
&& !p->gen_java_syms_file_err) {
782-
p->update_syms_table_time =
783-
generate_random_integer
784-
(PROFILER_DEFER_RANDOM_MAX);
785-
}
784+
p->update_syms_table_time +=
785+
generate_random_integer
786+
(PROFILER_DEFER_RANDOM_MAX);
786787
}
787788

788789
if (p->update_syms_table_time > 0

0 commit comments

Comments
 (0)