system_information(3erl)

πŸ“¦
version 25.3.2.8 Β· 3 versions
, in debian bookworm, ubuntu noble

🌸 NAME 🌸

This is the system_information(3erl) page, an Erlang Module Definition β€” aka system_information, aka System Information. Main character energy for your runtime system. πŸ‘‘


πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so the original DESCRIPTION section is literally just a header with no prose β€” it rolls straight into EXPORTS. That's where the actual tea is, bestie. πŸ’…


πŸ‘‘ EXPORTS πŸ‘‘

✨ sanity_check() ✨

  • sanity_check() -> ok | {failed, Failures} β€” performs a sanity check on the system. If no issues were found, ok is returned. If issues were found, {failed, Failures} is returned. Every failure it finds gets packed into the Failures list. 🫢

Types:

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]

These are the currently defined Failure elements that can show up in Failures:

  • InvalidAppFile β€” an application has an invalid .app file. The second element identifies the application which has the invalid .app file.
  • InvalidApplicationVersion β€” an application has an invalid application version. The second element identifies the application version that is invalid.
  • MissingRuntimeDependencies β€” an application is missing runtime dependencies. The second element identifies the application (with version) that has missing dependencies. The third element contains the missing dependencies.
    • Heads up, bestie: this check uses application versions that are loaded, or will be loaded when used. You might have application versions that satisfy all dependencies installed in the system, but if those are not loaded this check will fail. The system will of course also fail when used like this. This may happen when you have multiple branched versions of the same application installed in the system, but you do not use a boot script identifying the correct application version.

Currently the sanity check is limited to verifying runtime dependencies found in the .app files of all applications. More checks will be introduced in the future. This implies that the return type will change in the future. πŸ”₯

Note: an ok return value only means that sanity_check/0 did not find any issues, not that no issues exist. No cap. 🫢

πŸŽ€ to_file(FileName) πŸŽ€

  • to_file(FileName) -> ok | {error, Reason} β€” writes miscellaneous system information to file. This information will typically be requested by the Erlang/OTP team at Ericsson AB when reporting an issue. πŸŽ€

Types:

FileName = file:name_all()
Reason = file:posix() | badarg | terminated | system_limit

Sign-off tea: Ericsson AB, runtime_tools 1.19, system_information(3erl) β€” date? not on this footer, so no date given, bestie. πŸ’…βœ¨