<?xml version="1.0" encoding="utf-8"?>
<Tables xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="https://newlifex.com https://newlifex.com/Model2022.xsd" NameSpace="Stardust.Data" ConnName="Stardust" Output="" BaseClass="" Version="11.3.2022.1013" Document="https://newlifex.com/xcode/model" DisplayName="" CubeOutput="../../Stardust.Web/Areas/Registry" xmlns="https://newlifex.com/Model2022.xsd">
  <Table Name="App" TableName="StarApp" Description="应用系统。服务提供者和消费者">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="Name" DataType="String" Master="True" Nullable="False" Description="名称" />
      <Column Name="DisplayName" DataType="String" Description="显示名" />
      <Column Name="Secret" DataType="String" Description="密钥" />
      <Column Name="Category" DataType="String" Description="类别" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="AutoActive" DataType="Boolean" Description="自动激活。新登录应用是否自动激活，只有激活的应用，才提供服务" />
      <Column Name="Version" DataType="String" Description="版本。多版本实例使用时，仅记录最新版本" />
      <Column Name="Compile" DataType="DateTime" Description="编译时间。客户端" />
      <Column Name="Period" DataType="Int32" Description="采样周期。默认60秒" />
      <Column Name="Singleton" DataType="Boolean" Description="单例。每个节点只部署一个实例，多节点多实例，此时使用本地IP作为唯一标识，便于管理实例" />
      <Column Name="WebHook" DataType="String" Length="500" Description="告警机器人。钉钉、企业微信等" />
      <Column Name="AlarmOnOffline" DataType="Boolean" Description="下线告警。节点下线时，发送告警" />
      <Column Name="LastLogin" DataType="DateTime" Description="最后登录" />
      <Column Name="LastIP" DataType="String" Description="最后IP" />
      <Column Name="AllowControlNodes" DataType="String" Description="节点控制。允许该应用发指令控制的节点，*表示全部节点" />
      <Column Name="Remark" DataType="String" Length="500" Description="内容" Category="扩展" />
      <Column Name="CreateUser" DataType="String" Description="创建者" Category="扩展" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateUser" DataType="String" Description="更新者" Category="扩展" />
      <Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="Name" Unique="True" />
    </Indexes>
  </Table>
  <Table Name="AppOnline" Description="应用在线。一个应用有多个部署，每个在线会话对应一个服务地址" ConnName="StardustData">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="Category" DataType="String" Description="类别" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="Name" DataType="String" Master="True" Description="名称。机器名称" />
      <Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
      <Column Name="Client" DataType="String" Description="客户端。IP加进程，不同应用的Client可能相同，但几率很低，暂不考虑" />
      <Column Name="Scope" DataType="String" Description="作用域" />
      <Column Name="Version" DataType="String" Description="版本。客户端" />
      <Column Name="Compile" DataType="DateTime" Description="编译时间。客户端" />
      <Column Name="PingCount" DataType="Int32" Description="心跳" />
      <Column Name="WebSocket" DataType="Boolean" Description="长连接。WebSocket长连接" />
      <Column Name="ProcessId" DataType="Int32" Description="进程" />
      <Column Name="ProcessName" DataType="String" Length="200" Description="进程名称" />
      <Column Name="CommandLine" DataType="String" Length="500" Description="命令行" />
      <Column Name="UserName" DataType="String" Description="用户名。启动该进程的用户名" />
      <Column Name="MachineName" DataType="String" Description="机器名" />
      <Column Name="StartTime" DataType="DateTime" Description="进程时间" />
      <Column Name="IP" DataType="String" Length="200" Description="本地IP。节点本地IP地址" />
      <Column Name="WorkerId" DataType="Int32" Description="雪花标识" />
      <Column Name="Token" DataType="String" Length="500" Description="令牌" />
      <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递" Category="扩展" />
      <Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="Client" Unique="True" />
      <Index Columns="AppId,IP" />
      <Index Columns="Token" />
      <Index Columns="IP" />
      <Index Columns="UpdateTime" />
    </Indexes>
  </Table>
  <Table Name="AppHistory" Description="应用历史" ConnName="StardustData">
    <Columns>
      <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="Client" DataType="String" Description="客户端。IP加进程" />
      <Column Name="Version" DataType="String" Description="版本。客户端实例版本" />
      <Column Name="Action" DataType="String" Description="操作" />
      <Column Name="Success" DataType="Boolean" Description="成功" />
      <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递" Category="扩展" />
      <Column Name="Remark" DataType="String" Length="500" Description="内容" />
      <Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId,Client" />
      <Index Columns="AppId,Action" />
      <Index Columns="Action,Success" />
    </Indexes>
  </Table>
  <Table Name="AppCommand" Description="应用命令" ConnName="StardustData">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="Command" DataType="String" Master="True" Description="命令" />
      <Column Name="Argument" DataType="String" Length="500" Description="参数" />
      <Column Name="StartTime" DataType="DateTime" Description="开始执行时间。用于提前下发指令后延期执行，暂时不支持取消" />
      <Column Name="Expire" DataType="DateTime" Description="过期时间。未指定时表示不限制" />
      <Column Name="Status" DataType="Int32" Description="状态。命令状态" Type="Stardust.Models.CommandStatus" />
      <Column Name="Times" DataType="Int32" Description="次数。一共执行多少次，超过10次后取消" />
      <Column Name="Result" DataType="String" Length="500" Description="结果" />
      <Column Name="TraceId" DataType="String" Description="追踪。最新一次查看采样，可用于关联多个片段，建立依赖关系，随线程上下文、Http、Rpc传递" Category="扩展" />
      <Column Name="CreateUser" DataType="String" Description="创建者" Category="扩展" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId,Command" />
      <Index Columns="UpdateTime,AppId,Command" />
    </Indexes>
  </Table>
  <Table Name="AppMeter" Description="应用性能。保存应用上报的性能数据，如CPU、内存、线程、句柄等" ConnName="StardustData">
    <Columns>
      <Column Name="Id" DataType="Int64" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="ClientId" DataType="String" Description="实例。应用可能多实例部署，ip@proccessid" />
      <Column Name="Memory" DataType="Int32" Description="内存。单位M" />
      <Column Name="ProcessorTime" DataType="Int32" Description="处理器。处理器时间，单位ms" />
      <Column Name="CpuUsage" DataType="Double" ItemType="percent" Description="CPU负载。处理器时间除以物理时间的占比" />
      <Column Name="Threads" DataType="Int32" Description="线程数" />
      <Column Name="Handles" DataType="Int32" Description="句柄数" />
      <Column Name="Connections" DataType="Int32" Description="连接数" />
      <Column Name="GCPause" DataType="Double" Description="GC暂停。时间占比，百分之一" />
      <Column Name="FullGC" DataType="Int32" Description="完全GC。周期时间内发生二代GC的次数" />
      <Column Name="Data" DataType="String" Length="-1" Description="数据" />
      <Column Name="Creator" DataType="String" Description="创建者。服务端节点" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId,ClientId,Id" />
    </Indexes>
  </Table>
  <Table Name="Service" Description="服务信息。服务提供者发布的服务">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="Name" DataType="String" Master="True" Nullable="False" Description="名称。服务名，提供一个地址，包含多个接口" />
      <Column Name="DisplayName" DataType="String" Description="显示名" />
      <Column Name="Category" DataType="String" Description="类别" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="Extranet" DataType="Boolean" Description="外网。外网服务使用提供者公网地址进行注册" />
      <Column Name="Singleton" DataType="Boolean" Description="单例。每个节点只部署一个实例，多节点多实例，此时使用本地IP作为唯一标识，便于设置权重" />
      <Column Name="UseScope" DataType="Boolean" Description="作用域。使用作用域隔离后，消费者只能使用本作用域内的服务" />
      <Column Name="Address" DataType="String" Description="服务地址模版。固定的网关地址，或地址模版如http://{IP}:{Port}，默认不填写，自动识别地址" />
      <Column Name="HealthCheck" DataType="Boolean" Description="健康监测。定时检测服务是否可用" />
      <Column Name="HealthAddress" DataType="String" Description="监测地址。健康监测接口地址，相对地址或绝对地址" />
      <Column Name="Providers" DataType="Int32" Description="提供者" />
      <Column Name="Consumers" DataType="Int32" Description="消费者" />
      <Column Name="Remark" DataType="String" Length="500" Description="内容" Category="扩展" />
      <Column Name="CreateUser" DataType="String" Description="创建者" Category="扩展" />
      <Column Name="CreateUserID" DataType="Int32" Description="创建者" Category="扩展" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateUser" DataType="String" Description="更新者" Category="扩展" />
      <Column Name="UpdateUserID" DataType="Int32" Description="更新者" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
      <Column Name="UpdateIP" DataType="String" Description="更新地址" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="Name" Unique="True" />
    </Indexes>
  </Table>
  <Table Name="AppService" Description="应用服务。应用提供的服务">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="ServiceId" DataType="Int32" Description="服务" />
      <Column Name="ServiceName" DataType="String" Description="服务名" />
      <Column Name="Client" DataType="String" Description="客户端。IP加端口" />
      <Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="PingCount" DataType="Int32" Description="心跳" />
      <Column Name="Version" DataType="String" Description="版本" />
      <Column Name="Address" DataType="String" Length="500" Description="地址。本地局域网服务地址，如http://127.0.0.1:1234" />
      <Column Name="OriginAddress" DataType="String" Length="500" Description="原始地址。客户端上报地址" />
      <Column Name="Weight" DataType="Int32" Description="权重" />
      <Column Name="Scope" DataType="String" Description="作用域。根据配置中心应用规则计算，禁止跨域访问服务" />
      <Column Name="Tag" DataType="String" Description="标签。带有指定特性，逗号分隔" />
      <Column Name="CheckTimes" DataType="Int32" Description="监测次数。健康监测次数" />
      <Column Name="Healthy" DataType="Boolean" Description="健康。无需健康监测，或监测后服务可用" />
      <Column Name="LastCheck" DataType="DateTime" Description="监测时间。最后一次监测时间，一段时间监测失败后禁用" />
      <Column Name="CheckResult" DataType="String" Length="2000" Description="监测结果。检测结果，错误信息等" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId" />
      <Index Columns="ServiceId" />
      <Index Columns="UpdateTime" />
    </Indexes>
  </Table>
  <Table Name="AppConsume" Description="应用消费。应用消费的服务">
    <Columns>
      <Column Name="Id" DataType="Int32" Identity="True" PrimaryKey="True" Description="编号" />
      <Column Name="AppId" DataType="Int32" Description="应用" />
      <Column Name="ServiceId" DataType="Int32" Description="服务" />
      <Column Name="ServiceName" DataType="String" Description="服务名" />
      <Column Name="Client" DataType="String" Description="客户端。IP加进程" />
      <Column Name="NodeId" DataType="Int32" Description="节点。节点服务器" />
      <Column Name="Enable" DataType="Boolean" Description="启用" />
      <Column Name="PingCount" DataType="Int32" Description="心跳" />
      <Column Name="MinVersion" DataType="String" Description="最低版本。要求返回大于等于该版本的服务提供者" />
      <Column Name="Scope" DataType="String" Description="作用域。根据配置中心应用规则计算，禁止跨域访问服务" />
      <Column Name="Tag" DataType="String" Description="标签。带有指定特性，逗号分隔" />
      <Column Name="CreateTime" DataType="DateTime" Description="创建时间" Category="扩展" />
      <Column Name="CreateIP" DataType="String" Description="创建地址" Category="扩展" />
      <Column Name="UpdateTime" DataType="DateTime" Description="更新时间" Category="扩展" />
    </Columns>
    <Indexes>
      <Index Columns="AppId" />
      <Index Columns="ServiceId" />
      <Index Columns="UpdateTime" />
    </Indexes>
  </Table>
</Tables>