system_information(3)

πŸ“¦
version 29.0.6 Β· 3 versions
, in ubuntu stonking

🌸 system_information β€” the Erlang module definition, bestie edition 🌸

okay so this is the manual page for system_information, which lives in the Erlang Module Definition collection. it's giving "runtime_tools module that checks ur system and spills the tea to a file". let's get into it πŸ’…


✨ NAME ✨

system_information β€” System Information. that's it, that's the name, iconic and to the point πŸŽ€


✨ DESCRIPTION ✨

literally nothing here bestie. the DESCRIPTION section is empty. no cap. we move on πŸ¦‹


✨ FUNCTIONS ✨

πŸ’– sanity_check() πŸ’–

sanity_check() -> ok | {failed, Failures}
                      when
                          Application :: atom(),
                          ApplicationVersion :: string(),
                          MissingRuntimeDependencies ::
                              {missing_runtime_dependencies,
                               ApplicationVersion,
                               [ApplicationVersion]},
                          InvalidApplicationVersion ::
                              {invalid_application_version,
                               ApplicationVersion},
                          InvalidAppFile ::
                              {invalid_app_file, Application},
                          Failure ::
                              MissingRuntimeDependencies |
                              InvalidApplicationVersion |
                          InvalidAppFile,
                          Failures :: [Failure].

Performs a sanity check on the system. like a lil vibe check for ur whole Erlang setup, periodt 🌈

if everything's fine, u get back ok. if something's messy, u get {failed, Failures}. every problem it finds shows up in that Failures list, so nothing gets left on read πŸ’…

here are the Failure elements that are currently defined in the Failures list:

  • InvalidAppFile β€” an application has an invalid .app file. the second element tells u which application is the one with the busted .app file. πŸ™ˆ
  • InvalidApplicationVersion β€” an application has an invalid application version. the second element tells u which application version is the invalid one. πŸ’€
  • MissingRuntimeDependencies β€” an application is missing runtime dependencies. the second element identifies the application (with version) that has the missing deps. the third element contains the missing dependencies themselves. 😭
ngl there's a lil caveat here that u really need to know: this check uses the application versions that are loaded, or that will be loaded when used. so like, u might totally have application versions installed on the system that satisfy all the dependencies, but if those aren't loaded, this check is gonna fail anyway. and ofc the system will also fail when used like this. this whole situation can happen when u have multiple branched versions of the same application installed in the system, but there's no boot script identifying the correct application version. so yeah. bestie. be aware 🫢

also, rn the sanity check is limited to verifying runtime dependencies found in the .app files of all applications. more checks are getting introduced in the future, which implies the return type is gonna change in the future too. so don't get too attached to the shape of it, iykyk ⭐

NOTE: an ok return value only means that sanity_check/0 did not find any issues. it does not mean that no issues exist. say it louder for the people in the back πŸ‘‘

πŸ’œ to_file(FileName) πŸ’œ

to_file(FileName) -> ok | {error, Reason}
                         when
                             FileName :: file:name_all(),
                             Reason ::
                                 file:posix() |
                                 badarg | terminated | system_limit.

Writes miscellaneous system information to file. ✨

this info will typically be requested by the Erlang/OTP team at Ericsson AB when reporting an issue. so if u ever gotta file a bug, this is ur girl β€” she's literally collecting the receipts for u 🧚


🌸 ok that's the whole page, mwah 🌸

this was the system_information(3) manual page, from runtime_tools version 2.4, brought to u by Ericsson AB. thanks for reading bestie, u ate that πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

πŸ“¦ where this page comes from