@@ -290,8 +290,15 @@ module Context = struct
290290 | Found p -> Some p)
291291 ;;
292292
293- let repo_candidate t name =
294- let versions = Opam_repo. all_packages_versions_map t.repos name in
293+ let repo_candidate t package_name =
294+ let open Dune_stats.Fiber.O in
295+ let & () =
296+ { Dune_stats. name = " repo_candidate"
297+ ; cat = [ " solver" ]
298+ ; args = [ " package" , `String (OpamPackage.Name. to_string package_name) ]
299+ }
300+ in
301+ let versions = Opam_repo. all_packages_versions_map t.repos package_name in
295302 let rejected, available =
296303 OpamPackage.Version.Map. fold
297304 (fun version (repo , key ) (rejected , available ) ->
@@ -305,7 +312,7 @@ module Context = struct
305312 let + resolved = Opam_repo. load_all_versions_by_keys available in
306313 Table. add_exn
307314 t.expanded_packages
308- (Package_name. of_opam_package_name name )
315+ (Package_name. of_opam_package_name package_name )
309316 (OpamPackage.Version.Map. cardinal resolved);
310317 let available =
311318 OpamPackage.Version.Map. values resolved
@@ -786,6 +793,8 @@ module Solver = struct
786793 (* Starting from [root_req], explore all the feeds and implementations we
787794 might need, adding all of them to [sat_problem]. *)
788795 let build_problem context root_req sat ~max_avoids ~dummy_impl =
796+ let open Dune_stats.Fiber.O in
797+ let & () = { Dune_stats. cat = [ " solver" ]; name = " build_problem" ; args = [] } in
789798 (* For each (iface, source) we have a list of implementations. *)
790799 let impl_cache = Fiber_cache. create (module Input. Role ) in
791800 let conflict_classes = Conflict_classes. create () in
@@ -955,6 +964,10 @@ module Solver = struct
955964 ;;
956965
957966 let do_solve context ~closest_match root_req =
967+ let open Dune_stats.Fiber.O in
968+ let & () =
969+ { Dune_stats. name = " do_solve_with_retries" ; cat = [ " solver" ]; args = [] }
970+ in
958971 do_solve context ~closest_match ~max_avoids: (Some 0 ) root_req
959972 >> = function
960973 | Some sels ->
@@ -1436,6 +1449,13 @@ module Solver = struct
14361449end
14371450
14381451let solve_package_list packages ~context =
1452+ let open Dune_stats.Fiber.O in
1453+ let & () =
1454+ { Dune_stats. name = " solve_package_list"
1455+ ; cat = [ " solver" ]
1456+ ; args = [ " package_count" , `Int (List. length packages) ]
1457+ }
1458+ in
14391459 Fiber. collect_errors (fun () ->
14401460 (* [Solver.solve] returns [Error] when it's unable to find a solution to
14411461 the dependencies, but can also raise exceptions, for example if opam
0 commit comments