[OpenSIPS-Devel] [OpenSIPS/opensips] 1734d2: added generic profiling API

Bogdan Andrei IANCU noreply at github.com
Tue Apr 21 13:12:06 UTC 2026


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 1734d27d53e46895515675efc1ec541ec21ebe41
      https://github.com/OpenSIPS/opensips/commit/1734d27d53e46895515675efc1ec541ec21ebe41
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M action.c
    M main.c
    M modules/opentelemetry/opentelemetry.cpp
    M modules/tm/async.c
    A profiling.c
    A profiling.h
    M route.c
    M route.h
    R route_trace.c
    R route_trace.h

  Log Message:
  -----------
  added generic profiling API

Reworked the existing script tracing API :
* to support multiple consumers for the profiled data (so far we had only opentelemetry)
* to be more generic (not only script oriented) for profiling data

Also added:
* process data for profiling (just defined, WIP)
* event based consumer for the profiling data (via MI evi:subscribe)


  Commit: 3eb9f3daeb738af9ae2eb2c890373d020c52d80d
      https://github.com/OpenSIPS/opensips/commit/3eb9f3daeb738af9ae2eb2c890373d020c52d80d
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M evi/evi_params.c
    M evi/evi_params.h
    M evi/evi_transport.c

  Log Message:
  -----------
  [evi] added new function to reset a param value

For pre-defined list of parameters, now you can reset a param value if you do not want to have it set during current usage.
Also, the AVI core will not push (to be backends) the params without value (which were reset)


  Commit: 6ba881f55ecfd333d05a82923ce5a4aac8d1e368
      https://github.com/OpenSIPS/opensips/commit/6ba881f55ecfd333d05a82923ce5a4aac8d1e368
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M profiling.c

  Log Message:
  -----------
  [profiling] reset the EVI params which do not have value


  Commit: 4e3267f023e7d49df304c89164daeeaf90713e28
      https://github.com/OpenSIPS/opensips/commit/4e3267f023e7d49df304c89164daeeaf90713e28
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-03-27 (Fri, 27 Mar 2026)

  Changed paths:
    M profiling.c

  Log Message:
  -----------
  [profiling] add usecs too and fix the status printing (for negative values)


  Commit: c1221207b83b5002cb90998d3184ee64777e48f2
      https://github.com/OpenSIPS/opensips/commit/c1221207b83b5002cb90998d3184ee64777e48f2
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M modules/opentelemetry/Makefile
    M modules/opentelemetry/opentelemetry.cpp

  Log Message:
  -----------
  Get rid of initial testing HAVE_OPENTELEMETRY_CPP define


  Commit: 89149094a7b4cefd02967e91b2f8ae588432ba16
      https://github.com/OpenSIPS/opensips/commit/89149094a7b4cefd02967e91b2f8ae588432ba16
  Author: Vlad Paiu <vladpaiu at opensips.org>
  Date:   2026-04-10 (Fri, 10 Apr 2026)

  Changed paths:
    M modules/opentelemetry/doc/opentelemetry_admin.xml
    M modules/opentelemetry/opentelemetry.cpp
    A modules/opentelemetry/semantic-convention/sip-spans.md

  Log Message:
  -----------
  Add more details to the Spans, following the HTTP semantic convention more closely
Report status of the routes to Opentelemetry
Add local sip-spans.md documentation


  Commit: 2548c36b3ba0b46988e25318286d6e91cd07ea0d
      https://github.com/OpenSIPS/opensips/commit/2548c36b3ba0b46988e25318286d6e91cd07ea0d
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M ipc.c
    M mi/mi_core.c
    M net/net_udp.c
    M profiling.c
    M profiling.h
    M pt.c
    M pt.h
    M receive.c
    M timer.c

  Log Message:
  -----------
  [profiling] added support for process profiling


  Commit: 4fb17ba4a7d4fdcc9e2bbb2d6502ea108c2f8afb
      https://github.com/OpenSIPS/opensips/commit/4fb17ba4a7d4fdcc9e2bbb2d6502ea108c2f8afb
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M async.c
    M async.h
    M modules/aaa_diameter/aaa_diameter.c
    M modules/aaa_radius/aaa_radius.c
    M modules/auth_aka/auth_aka.c
    M modules/cfgutils/cfgutils.c
    M modules/cgrates/cgrates_common.c
    M modules/event_routing/event_routing.c
    M modules/exec/exec_mod.c
    M modules/ldap/ldap_exp_fn.c
    M modules/mi_script/mi_script.c
    M modules/rest_client/rest_client.c
    M modules/rtpengine/rtpengine.c
    M modules/sipcapture/sipcapture.c

  Log Message:
  -----------
  [profiling] extend async_ctx to keep the literal version of the resume function

We need this info for profiling purposes


  Commit: 9bdd4813b7bef47f92e60bb6c7fab7317dbabc6a
      https://github.com/OpenSIPS/opensips/commit/9bdd4813b7bef47f92e60bb6c7fab7317dbabc6a
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M profiling.h

  Log Message:
  -----------
  [profiling] added the sss_merge256() function


  Commit: 2ffbe85c72fba9495b027ec34b53b9cd7de2eb08
      https://github.com/OpenSIPS/opensips/commit/2ffbe85c72fba9495b027ec34b53b9cd7de2eb08
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M modules/sqlops/sqlops_impl.c

  Log Message:
  -----------
  [profiling] part of 33300cba06eeef7ebb37255097460906996b6cd6


  Commit: e9d2579a7b76dae56654b4d64b1b87798c492a34
      https://github.com/OpenSIPS/opensips/commit/e9d2579a7b76dae56654b4d64b1b87798c492a34
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M async.c
    M modules/tm/async.c

  Log Message:
  -----------
  [profiling] detailed profiling for all types of async resume


  Commit: 9243484e3b41d199ec2d90540b8d66e74f4e9f34
      https://github.com/OpenSIPS/opensips/commit/9243484e3b41d199ec2d90540b8d66e74f4e9f34
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M net/net_tcp.c
    M net/net_tcp_proc.c
    M net/net_udp.c

  Log Message:
  -----------
  [profiling] complet profiling on UDP and TCP net processes


  Commit: ecb7ff1ab8b44ef626d5bdbcec66d85c9646bfcc
      https://github.com/OpenSIPS/opensips/commit/ecb7ff1ab8b44ef626d5bdbcec66d85c9646bfcc
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M profiling.h

  Log Message:
  -----------
  [profiling] allow with_next also upper on the stack


  Commit: b6bac8ef64f53ec8ef38bf1b4f4019914d827221
      https://github.com/OpenSIPS/opensips/commit/b6bac8ef64f53ec8ef38bf1b4f4019914d827221
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M receive.c

  Log Message:
  -----------
  [profiling] added silent profiling for request pre script callbacks

Silent means if no profiling is done inside a callback (further), to profiling for the overall callback is not reported


  Commit: fc6c47d055cd1e7b922ba2b31f91579bb0191374
      https://github.com/OpenSIPS/opensips/commit/fc6c47d055cd1e7b922ba2b31f91579bb0191374
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M modules/tm/t_reply.c
    M modules/tm/tm_load.h

  Log Message:
  -----------
  [tm] added proc profiling support

Do profiling for the received_reply function which is directly called by core.
Also added helper macro to wrap profiling functions around TM API calls.


  Commit: 622ec3a999d05d6733d420e1fceda338f48a80ea
      https://github.com/OpenSIPS/opensips/commit/622ec3a999d05d6733d420e1fceda338f48a80ea
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M modules/b2b_entities/client.c
    M modules/b2b_entities/dlg.c
    M modules/callops/callops.c
    M modules/dialog/dlg_req_within.c
    M modules/dispatcher/dispatch.c
    M modules/drouting/drouting.c
    M modules/emergency/emergency_methods.c
    M modules/emergency/notifier_emergency.c
    M modules/emergency/subscriber_emergency.c
    M modules/imc/imc_cmd.c
    M modules/jabber/xjab_worker.c
    M modules/load_balancer/lb_prober.c
    M modules/media_exchange/media_exchange.c
    M modules/mid_registrar/ulcb.c
    M modules/msilo/msilo.c
    M modules/msrp_gateway/msrp_gateway.c
    M modules/osp/cnam.c
    M modules/presence/notify.c
    M modules/proto_smpp/smpp.c
    M modules/pua/pua.c
    M modules/pua/send_publish.c
    M modules/pua/send_subscribe.c
    M modules/rls/notify.c
    M modules/signaling/signaling.c
    M modules/uac_registrant/registrant.c
    M modules/xmpp/xmpp.c

  Log Message:
  -----------
  [profiling] use profiling whenever the important TM API funcs are called

the functions : t_reply, t_reply_with_body, t_reply_unsafe, t_request_within, t_request_outside, t_request, t_cancel_trans


  Commit: 970626b4a895c6730e5818456d239e46d16ca651
      https://github.com/OpenSIPS/opensips/commit/970626b4a895c6730e5818456d239e46d16ca651
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M modules/b2b_entities/b2be_load.h
    M modules/b2b_entities/dlg.c
    M modules/b2b_logic/b2b_logic.c
    M modules/b2b_logic/bridging.c
    M modules/b2b_logic/logic.c
    M modules/b2b_sdp_demux/b2b_sdp_demux.c
    M modules/media_exchange/media_exchange.c
    M modules/media_exchange/media_sessions.c
    M modules/msrp_ua/msrp_ua.c
    M modules/siprec/siprec_logic.c

  Log Message:
  -----------
  [profiling] support for b2b_entities profiling

Profile on entry points (incoming requests and replies) and on API calls (which perform signaling)


  Commit: abe6e02bc3eea15a0811521f5bf08a213a4d4a97
      https://github.com/OpenSIPS/opensips/commit/abe6e02bc3eea15a0811521f5bf08a213a4d4a97
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M modules/b2b_logic/logic.c

  Log Message:
  -----------
  [profiling] profile on entry points in b2b_logic module

...when notifications from b2b_logic are received


  Commit: 335bd707886e98a8f22c44e3e2c53a79a565ea07
      https://github.com/OpenSIPS/opensips/commit/335bd707886e98a8f22c44e3e2c53a79a565ea07
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-15 (Wed, 15 Apr 2026)

  Changed paths:
    M modules/callops/callops.c
    M modules/cgrates/cgrates_acc.c
    M modules/dialog/dlg_load.h
    M modules/media_exchange/media_exchange.c
    M modules/media_exchange/media_sessions.c
    M modules/rtp_relay/rtp_relay_ctx.c
    M modules/rtpengine/rtpengine.c
    M modules/rtpproxy/notification_process.c

  Log Message:
  -----------
  [dialog] added profiling on signaling API functions


  Commit: 46de525c93aaac691a600354ba8de99e7c4e8550
      https://github.com/OpenSIPS/opensips/commit/46de525c93aaac691a600354ba8de99e7c4e8550
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-20 (Mon, 20 Apr 2026)

  Changed paths:
    M modules/httpd/httpd_proc.c
    M modules/mi_datagram/datagram_fnc.c
    M modules/mi_fifo/fifo_fnc.c
    M modules/rtpengine/rtpengine.c
    M modules/rtpproxy/notification_process.c

  Log Message:
  -----------
  [profiling] added profiling support for the extra processes


  Commit: 798290461c5fbd51f18dbd55a23a32df98858c59
      https://github.com/OpenSIPS/opensips/commit/798290461c5fbd51f18dbd55a23a32df98858c59
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-21 (Tue, 21 Apr 2026)

  Changed paths:
    M async.c
    M ipc.c
    M mi/mi_core.c
    M modules/b2b_entities/b2be_load.h
    M modules/b2b_entities/dlg.c
    M modules/b2b_logic/logic.c
    M modules/dialog/dlg_load.h
    M modules/httpd/httpd_proc.c
    M modules/mi_datagram/datagram_fnc.c
    M modules/mi_fifo/fifo_fnc.c
    M modules/rtpengine/rtpengine.c
    M modules/rtpproxy/notification_process.c
    M modules/tm/async.c
    M modules/tm/t_reply.c
    M modules/tm/tm_load.h
    M net/net_tcp_proc.c
    M net/net_udp.c
    M profiling.h
    M pt.c
    M pt.h
    M receive.c
    M timer.c

  Log Message:
  -----------
  [profiling] added verbosity levels for profiling

Also added extra_proc profiling (like mi_fifo, mi_datagram, rtpengine, rtpproxy, httpd)


  Commit: 678d926925dcff2a229389d258f71f4f5d913ad6
      https://github.com/OpenSIPS/opensips/commit/678d926925dcff2a229389d258f71f4f5d913ad6
  Author: Bogdan-Andrei Iancu <bogdan at opensips.org>
  Date:   2026-04-21 (Tue, 21 Apr 2026)

  Changed paths:
    M action.c
    M async.c
    M async.h
    M evi/evi_params.c
    M evi/evi_params.h
    M evi/evi_transport.c
    M ipc.c
    M main.c
    M mi/mi_core.c
    M modules/aaa_diameter/aaa_diameter.c
    M modules/aaa_radius/aaa_radius.c
    M modules/auth_aka/auth_aka.c
    M modules/b2b_entities/b2be_load.h
    M modules/b2b_entities/client.c
    M modules/b2b_entities/dlg.c
    M modules/b2b_logic/b2b_logic.c
    M modules/b2b_logic/bridging.c
    M modules/b2b_logic/logic.c
    M modules/b2b_sdp_demux/b2b_sdp_demux.c
    M modules/callops/callops.c
    M modules/cfgutils/cfgutils.c
    M modules/cgrates/cgrates_acc.c
    M modules/cgrates/cgrates_common.c
    M modules/dialog/dlg_load.h
    M modules/dialog/dlg_req_within.c
    M modules/dispatcher/dispatch.c
    M modules/drouting/drouting.c
    M modules/emergency/emergency_methods.c
    M modules/emergency/notifier_emergency.c
    M modules/emergency/subscriber_emergency.c
    M modules/event_routing/event_routing.c
    M modules/exec/exec_mod.c
    M modules/httpd/httpd_proc.c
    M modules/imc/imc_cmd.c
    M modules/jabber/xjab_worker.c
    M modules/ldap/ldap_exp_fn.c
    M modules/load_balancer/lb_prober.c
    M modules/media_exchange/media_exchange.c
    M modules/media_exchange/media_sessions.c
    M modules/mi_datagram/datagram_fnc.c
    M modules/mi_fifo/fifo_fnc.c
    M modules/mi_script/mi_script.c
    M modules/mid_registrar/ulcb.c
    M modules/msilo/msilo.c
    M modules/msrp_gateway/msrp_gateway.c
    M modules/msrp_ua/msrp_ua.c
    M modules/opentelemetry/Makefile
    M modules/opentelemetry/doc/opentelemetry_admin.xml
    M modules/opentelemetry/opentelemetry.cpp
    A modules/opentelemetry/semantic-convention/sip-spans.md
    M modules/osp/cnam.c
    M modules/presence/notify.c
    M modules/proto_smpp/smpp.c
    M modules/pua/pua.c
    M modules/pua/send_publish.c
    M modules/pua/send_subscribe.c
    M modules/rest_client/rest_client.c
    M modules/rls/notify.c
    M modules/rtp_relay/rtp_relay_ctx.c
    M modules/rtpengine/rtpengine.c
    M modules/rtpproxy/notification_process.c
    M modules/signaling/signaling.c
    M modules/sipcapture/sipcapture.c
    M modules/siprec/siprec_logic.c
    M modules/sqlops/sqlops_impl.c
    M modules/tm/async.c
    M modules/tm/t_reply.c
    M modules/tm/tm_load.h
    M modules/uac_registrant/registrant.c
    M modules/xmpp/xmpp.c
    M net/net_tcp.c
    M net/net_tcp_proc.c
    M net/net_udp.c
    A profiling.c
    A profiling.h
    M pt.c
    M pt.h
    M receive.c
    M route.c
    M route.h
    R route_trace.c
    R route_trace.h
    M timer.c

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/feature/proc_profiling'


Compare: https://github.com/OpenSIPS/opensips/compare/c01a8d710511...678d926925dc

To unsubscribe from these emails, change your notification settings at https://github.com/OpenSIPS/opensips/settings/notifications



More information about the Devel mailing list