chef / knife-cloud

Library for Chef knife cloud plugins
Apache License 2.0
18 stars 20 forks source link

Rework knife bootstrap to not load the world #175

Open tas50 opened 2 years ago

tas50 commented 2 years ago

knife-cloud is abusing the knife plugin model and the result is terrible performance for every knife command (bootstrap or not). https://github.com/chef/knife-cloud/blob/main/lib/chef/knife/cloud/chefbootstrap/ssh_bootstrap_protocol.rb#L30 creates an boostrap object in the initializer which runs even if something just runs knife -h and this gem is installed. This ends up resulting in 216 different requires that can take up to 4 seconds. This mess need to get refactored.

/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/knife-cloud-4.0.15/lib/chef/knife/cloud/chefbootstrap/ssh_bootstrap_protocol.rb, chef/knife/bootstrap, 1.2999982573091984e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/generator.rb, erubis/util, 0.000421999953687191
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/engine.rb, erubis/generator, 0.000986000057309866
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/converter.rb, erubis/util, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/engine.rb, erubis/converter, 0.0010839999886229634
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb, erubis/error, 0.0005210000090301037
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/evaluator.rb, erubis/context, 0.0005009999731555581
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/engine.rb, erubis/evaluator, 0.0015990000683814287
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/engine.rb, erubis/context, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis.rb, erubis/engine, 0.004655999946407974
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis.rb, erubis/helper, 0.00045499997213482857
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis.rb, erubis/enhancer, 0.001352999941445887
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb, erubis/engine, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis/engine/eruby.rb, erubis/enhancer, 2.9999064281582832e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis.rb, erubis/engine/eruby, 0.0008670000825077295
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/erubis-2.7.0/lib/erubis.rb, erubis/local-setting, 0.00039900001138448715
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/knife-17.9.9/lib/chef/knife/bootstrap.rb, erubis, 0.00868100009392947
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, logger, 1.2999982573091984e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, etc, 5.999929271638393e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, shellwords, 3.999914042651653e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, net/ssh/config, 0.0011359999189153314
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, net/ssh/errors, 0.0006179999327287078
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, net/ssh/loggable, 0.0004320000298321247
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, socket, 5.00003807246685e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/errors, 3.00002284348011e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/loggable, 3.00002284348011e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/version, 0.0003439999418333173
<internal:/opt/chef-workstation/embedded/lib/ruby/3.0.0/rubygems/core_ext/kernel_require.rb>, digest, 1.0999967344105244e-05
/opt/chef-workstation/embedded/lib/ruby/3.0.0/openssl.rb, openssl.so, 0.007035000016912818
/opt/chef-workstation/embedded/lib/ruby/3.0.0/openssl/config.rb, stringio, 1.2999982573091984e-05
/opt/chef-workstation/embedded/lib/ruby/3.0.0/openssl/ssl.rb, openssl/buffering, 0.01446500001475215
/opt/chef-workstation/embedded/lib/ruby/3.0.0/openssl/ssl.rb, io/nonblock, 0.002383999992161989
/opt/chef-workstation/embedded/lib/ruby/3.0.0/ipaddr.rb, socket, 5.999929271638393e-06
/opt/chef-workstation/embedded/lib/ruby/3.0.0/openssl/ssl.rb, ipaddr, 0.0025159999495372176
/opt/chef-workstation/embedded/lib/ruby/3.0.0/openssl/ssl.rb, socket, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/openssl.rb, openssl, 0.043486999929882586
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/pub_key_fingerprint.rb, openssl, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/openssl.rb, net/ssh/authentication/pub_key_fingerprint, 0.0005090000340715051
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/buffer.rb, net/ssh/transport/openssl, 0.044784999918192625
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/certificate.rb, securerandom, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/buffer.rb, net/ssh/authentication/certificate, 0.0008410000009462237
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/ed25519-1.2.4/lib/ed25519.rb, ed25519/version, 0.0008590000215917826
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/ed25519-1.2.4/lib/ed25519/signing_key.rb, securerandom, 5.999929271638393e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/ed25519-1.2.4/lib/ed25519.rb, ed25519/signing_key, 0.0006980000762268901
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/ed25519-1.2.4/lib/ed25519.rb, ed25519/verify_key, 0.0005289999535307288
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/ed25519-1.2.4/lib/ed25519.rb, ed25519_ref10, 0.2269509999314323
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/ed25519.rb, ed25519, 0.23567999992519617
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/ed25519.rb, base64, 0.005698000080883503
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/cipher_factory.rb, openssl, 4.700000863522291e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/ctr.rb, openssl, 2.1999934688210487e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/ctr.rb, delegate, 2.4000066332519054e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/cipher_factory.rb, net/ssh/transport/ctr.rb, 0.0021019999403506517
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/cipher_factory.rb, net/ssh/transport/key_expander, 0.0012029999634250998
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/cipher_factory.rb, net/ssh/transport/identity_cipher, 0.0010129999136552215
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/ed25519.rb, net/ssh/transport/cipher_factory, 0.007406000047922134
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/ed25519.rb, net/ssh/authentication/pub_key_fingerprint, 2.4999957531690598e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/bcrypt_pbkdf-1.1.0/lib/bcrypt_pbkdf.rb, bcrypt_pbkdf_ext, 0.14733899990096688
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/ed25519.rb, bcrypt_pbkdf, 0.17084699997212738
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/ed25519_loader.rb, net/ssh/authentication/ed25519, 0.4212149999802932
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/buffer.rb, net/ssh/authentication/ed25519_loader, 0.4226949999574572
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/buffer, 0.4695529999444261
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/known_hosts.rb, strscan, 7.800001185387373e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/known_hosts.rb, openssl, 2.2999942302703857e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/known_hosts.rb, base64, 2.1000043489038944e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/known_hosts.rb, net/ssh/buffer, 1.4999997802078724e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/known_hosts.rb, net/ssh/authentication/ed25519_loader, 1.0999967344105244e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/known_hosts, 0.005118999979458749
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/loggable, 2.3999949917197227e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/transport/cipher_factory, 1.4999997802078724e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/transport/constants, 0.0012199999764561653
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/key_expander, 2.7999980375170708e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/abstract.rb, openssl, 3.300001844763756e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/abstract.rb, openssl/digest, 1.3999990187585354e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/md5.rb, net/ssh/transport/hmac/abstract, 0.0012429999187588692
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/md5, 0.001977000036276877
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/md5_96.rb, net/ssh/transport/hmac/md5, 1.00000761449337e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/md5_96, 0.000800000037997961
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha1.rb, net/ssh/transport/hmac/abstract, 8.999952115118504e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha1, 0.0005019999807700515
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha1_96.rb, net/ssh/transport/hmac/sha1, 1.0999967344105244e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha1_96, 0.0005440000677481294
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha2_256.rb, net/ssh/transport/hmac/abstract, 9.999959729611874e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha2_256, 0.0006559999892488122
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha2_256_96.rb, net/ssh/transport/hmac/abstract, 1.100008375942707e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha2_256_96, 0.0007390000391751528
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha2_512.rb, net/ssh/transport/hmac/abstract, 9.999959729611874e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha2_512, 0.0005680000176653266
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha2_512_96.rb, net/ssh/transport/hmac/abstract, 9.00006853044033e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha2_512_96, 0.0005489999894052744
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha2_256_etm.rb, net/ssh/transport/hmac/abstract, 1.2999982573091984e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha2_256_etm, 0.0006539999740198255
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/sha2_512_etm.rb, net/ssh/transport/hmac/abstract, 3.100000321865082e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/sha2_512_etm, 0.0010030000703409314
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/ripemd160.rb, net/ssh/transport/hmac/abstract, 1.0999967344105244e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/ripemd160, 0.0007190000033006072
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac/none.rb, net/ssh/transport/hmac/abstract, 1.0999967344105244e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/hmac.rb, net/ssh/transport/hmac/none, 0.0005730000557377934
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/transport/hmac, 0.0119270000141114
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/abstract.rb, net/ssh/buffer, 1.200009137392044e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/abstract.rb, net/ssh/errors, 1.1999974958598614e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/abstract.rb, net/ssh/loggable, 7.999944500625134e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/abstract.rb, net/ssh/transport/openssl, 1.0999967344105244e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/abstract.rb, net/ssh/transport/constants, 9.00006853044033e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb, net/ssh/transport/kex/abstract, 0.0013760000001639128
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/diffie_hellman_group1_sha1, 0.0025920000625774264
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb, net/ssh/transport/kex/diffie_hellman_group1_sha1, 8.999952115118504e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/diffie_hellman_group14_sha1, 0.000661000027321279
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb, net/ssh/errors, 8.999952115118504e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb, net/ssh/transport/constants, 7.999944500625134e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb, net/ssh/transport/kex/diffie_hellman_group1_sha1, 6.9999368861317635e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/diffie_hellman_group_exchange_sha1, 0.0010219999821856618
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb, net/ssh/transport/kex/diffie_hellman_group_exchange_sha1, 8.00006091594696e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/diffie_hellman_group_exchange_sha256, 0.0005579999415203929
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/abstract5656.rb, net/ssh/transport/kex/abstract, 8.999952115118504e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb, net/ssh/transport/kex/abstract5656, 0.0008730000117793679
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/ecdh_sha2_nistp256, 0.0020129999611526728
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb, net/ssh/transport/kex/ecdh_sha2_nistp256, 9.00006853044033e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/ecdh_sha2_nistp384, 0.0005589999491348863
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb, net/ssh/transport/kex/ecdh_sha2_nistp256, 7.999944500625134e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/ecdh_sha2_nistp521, 0.0005550000350922346
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/kex.rb, net/ssh/transport/kex/curve25519_sha256_loader, 0.001762000028975308
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/transport/kex, 0.01067500002682209
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/transport/kex/curve25519_sha256_loader, 9.999959729611874e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/server_version.rb, net/ssh/errors, 7.999944500625134e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/server_version.rb, net/ssh/loggable, 6.9999368861317635e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/server_version.rb, net/ssh/version, 6.9999368861317635e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/transport/server_version, 0.0009859999408945441
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/algorithms.rb, net/ssh/authentication/ed25519_loader, 9.999959729611874e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/transport/algorithms, 0.5020670000230893
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/transport/constants, 6.9999368861317635e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/buffered_io.rb, net/ssh/buffer, 9.999959729611874e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/buffered_io.rb, net/ssh/loggable, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/packet_stream.rb, net/ssh/buffered_io, 0.0011579999700188637
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/packet_stream.rb, net/ssh/errors, 8.00006091594696e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/packet.rb, net/ssh/buffer, 1.00000761449337e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/packet.rb, net/ssh/transport/constants, 6.00004568696022e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/packet.rb, net/ssh/authentication/constants, 0.00043400004506111145
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/packet.rb, net/ssh/connection/constants, 0.0005589999491348863
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/packet_stream.rb, net/ssh/packet, 0.002199999988079071
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/packet_stream.rb, net/ssh/transport/cipher_factory, 9.999959729611874e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/packet_stream.rb, net/ssh/transport/hmac, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/state.rb, zlib, 2.3999949917197227e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/state.rb, net/ssh/transport/cipher_factory, 6.9999368861317635e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/state.rb, net/ssh/transport/hmac, 2.1000043489038944e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/packet_stream.rb, net/ssh/transport/state, 0.005420000059530139
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/transport/packet_stream, 0.011225000023841858
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/transport/server_version, 9.999959729611874e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/verifiers/accept_new.rb, net/ssh/errors, 8.999952115118504e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/verifiers/accept_new.rb, net/ssh/known_hosts, 8.00006091594696e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/verifiers/always.rb, net/ssh/errors, 1.0999967344105244e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/verifiers/always.rb, net/ssh/known_hosts, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/verifiers/accept_new.rb, net/ssh/verifiers/always, 0.0008750000270083547
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/verifiers/accept_new_or_local_tunnel.rb, net/ssh/verifiers/accept_new, 0.0014700000174343586
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/verifiers/accept_new_or_local_tunnel, 0.0020599999697878957
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/verifiers/accept_new, 8.999952115118504e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/verifiers/always, 6.00004568696022e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/transport/session.rb, net/ssh/verifiers/never, 0.00041500001680105925
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, net/ssh/transport/session, 0.5173769999528304
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/loggable, 9.00006853044033e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/transport/constants, 6.9999368861317635e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/authentication/constants, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/key_manager.rb, net/ssh/errors, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/key_factory.rb, net/ssh/transport/openssl, 8.00006091594696e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/prompt.rb, io/console, 1.8000020645558834e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/key_factory.rb, net/ssh/prompt, 0.0005459999665617943
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/key_factory.rb, net/ssh/authentication/ed25519_loader, 1.1999974958598614e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/key_manager.rb, net/ssh/key_factory, 0.002113000024110079
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/key_manager.rb, net/ssh/loggable, 8.00006091594696e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/agent.rb, net/ssh/buffer, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/agent.rb, net/ssh/errors, 5.00003807246685e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/agent.rb, net/ssh/loggable, 5.00003807246685e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/agent.rb, net/ssh/transport/server_version, 5.00003807246685e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/agent.rb, socket, 8.00006091594696e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/agent.rb, rubygems, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/key_manager.rb, net/ssh/authentication/agent, 0.002123999991454184
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/authentication/key_manager, 0.006050999974831939
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/none.rb, net/ssh/errors, 6.00004568696022e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/abstract.rb, net/ssh/buffer, 5.999929271638393e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/abstract.rb, net/ssh/errors, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/abstract.rb, net/ssh/loggable, 4.999921657145023e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/abstract.rb, net/ssh/authentication/constants, 4.999921657145023e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/none.rb, net/ssh/authentication/methods/abstract, 0.0006819999543949962
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/authentication/methods/none, 0.0012339999666437507
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/publickey.rb, net/ssh/buffer, 5.00003807246685e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/publickey.rb, net/ssh/errors, 3.999914042651653e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/publickey.rb, net/ssh/authentication/methods/abstract, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/authentication/methods/publickey, 0.0006949999369680882
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/hostbased.rb, net/ssh/authentication/methods/abstract, 1.3999990187585354e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/authentication/methods/hostbased, 0.003461000043898821
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/password.rb, net/ssh/errors, 7.00005330145359e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/password.rb, net/ssh/prompt, 6.00004568696022e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/password.rb, net/ssh/authentication/methods/abstract, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/authentication/methods/password, 0.0007550000445917249
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/keyboard_interactive.rb, net/ssh/prompt, 5.999929271638393e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/methods/keyboard_interactive.rb, net/ssh/authentication/methods/abstract, 4.00003045797348e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/authentication/session.rb, net/ssh/authentication/methods/keyboard_interactive, 0.0006760000251233578
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, net/ssh/authentication/session, 0.014589999918825924
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb, net/ssh/loggable, 6.9999368861317635e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/channel.rb, net/ssh/loggable, 6.00004568696022e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/channel.rb, net/ssh/connection/constants, 5.00003807246685e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/channel.rb, net/ssh/connection/term, 0.0004600000102072954
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb, net/ssh/connection/channel, 0.0022929999977350235
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb, net/ssh/connection/constants, 6.00004568696022e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/service/forward.rb, net/ssh/loggable, 6.00004568696022e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb, net/ssh/service/forward, 0.001680999994277954
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/keepalive.rb, net/ssh/loggable, 5.999929271638393e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb, net/ssh/connection/keepalive, 0.0004940000362694263
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/event_loop.rb, net/ssh/loggable, 4.999921657145023e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/connection/session.rb, net/ssh/connection/event_loop, 0.0006799999391660094
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, net/ssh/connection/session, 0.008606999996118248
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh.rb, net/ssh/prompt, 5.999929271638393e-06
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/knife-17.9.9/lib/chef/knife/bootstrap.rb, net/ssh, 0.5436749999644235
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/train-core-3.8.6/lib/train/plugins/transport.rb, logger, 2.3000058718025684e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/train-core-3.8.6/lib/train/plugins/base_connection.rb, logger, 1.1999974958598614e-05
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/train-core-3.8.6/lib/train/platforms/detect/uuid.rb, digest/sha1, 0.0018839999102056026
/opt/chef-workstation/embedded/lib/ruby/gems/3.0.0/gems/knife-17.9.9/lib/chef/knife/bootstrap/train_connector.rb, train, 0.016767999972216785