Status Server

Server Status

I’m doing an external controler. The truth is that everything works already, but I would need two pieces of information, in order to have a vision of the state of the server. Since it runs on another computer and collects the data via OSC and AMPC.

Is it possible to retrieve the basic information of the server status? Especially the total CPU consumption, with the caspar server.

Is it possible to collect in real time the console messaging log from another computer through AMPC or otherwise?

Thank you!

2.1 provides the log over a TCP socket:

  <controllers>
    <tcp>
      <port>5250</port>
      <protocol>AMCP</protocol>
    </tcp>
    <tcp>
      <port>3250</port>
      <protocol>LOG</protocol>
    </tcp>
  </controllers>

CPU and similar you will need to get with some other tool.

But not work in 2.3 LTS

[2020-08-04 17:25:24.975] [error] Exception: C:\Program Files (x86)\Jenkins\workspace\casparcg-server-dep\v2.3.x-lts\src\shell\server.cpp(307): Throw in function class caspar::spl::shared_ptr<class caspar::IO::protocol_strategy_factory > __cdecl caspar::server::impl::create_protocol(const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &) const
[2020-08-04 17:25:24.975] [error] Dynamic exception type: class boost::exception_detail::clone_impl
[2020-08-04 17:25:24.975] [error] [struct caspar::tag_msg_info * __ptr64] = Invalid protocol: LOG
[2020-08-04 17:25:24.975] [error] [struct caspar::tag_stacktrace_info * __ptr64] = 0# 0x00007FF710319DEE in casparcg
[2020-08-04 17:25:24.975] [error] 1# 0x00007FF710349150 in casparcg
[2020-08-04 17:25:24.975] [error] 2# 0x00007FF710340639 in casparcg
[2020-08-04 17:25:24.975] [error] 3# 0x00007FF71034786D in casparcg
[2020-08-04 17:25:24.975] [error] 4# 0x00007FF7103492FB in casparcg
[2020-08-04 17:25:24.975] [error] 5# 0x00007FF71031D2CD in casparcg
[2020-08-04 17:25:24.975] [error] 6# 0x00007FF710320BAB in casparcg
[2020-08-04 17:25:24.975] [error] 7# 0x00007FF710733CC8 in casparcg
[2020-08-04 17:25:24.975] [error] 8# BaseThreadInitThunk in KERNEL32
[2020-08-04 17:25:24.975] [error] 9# RtlUserThreadStart in ntdll
[2020-08-04 17:25:24.975] [error]
[2020-08-04 17:25:24.975] [error]
[2020-08-04 17:25:24.975] [error] 0# 0x00007FF710319DEE in casparcg
[2020-08-04 17:25:24.975] [error] 1# 0x00007FF71031971F in casparcg
[2020-08-04 17:25:24.975] [error] 2# 0x00007FF7107DD49A in casparcg
[2020-08-04 17:25:24.975] [error] 3# 0x00007FFDBCAB1030 in VCRUNTIME140
[2020-08-04 17:25:24.975] [error] 4# is_exception_typeof in VCRUNTIME140
[2020-08-04 17:25:24.975] [error] 5# RtlCaptureContext in ntdll
[2020-08-04 17:25:24.975] [error] 6# 0x00007FF710320BAB in casparcg
[2020-08-04 17:25:24.975] [error] 7# 0x00007FF710733CC8 in casparcg
[2020-08-04 17:25:24.975] [error] 8# BaseThreadInitThunk in KERNEL32
[2020-08-04 17:25:24.975] [error] 9# RtlUserThreadStart in ntdll
[2020-08-04 17:25:24.975] [error]

Its my config:

  <osc>
    <predefined-clients>
      <predefined-client>
        <address>127.0.0.1</address>
        <port>5253</port>
      </predefined-client>

    </predefined-clients>
  </osc>
  <controllers>
    <tcp>
      <port>5250</port>
      <protocol>AMCP</protocol>
    </tcp>
	
	<tcp>
      <port>3250</port>
      <protocol>LOG</protocol>
    </tcp>
	
  </controllers>
</configuration>

The LOG protocol was removed in 2.2+

It is very easy to replicate it with a tiny wrapper application instead. Or to read the log file as it gets written

No LOG in TCP, no status hardware in central server in OSC or AMPC… :frowning: