这一节,我们来说说orleans 中的几个实用工具,OrleansHost、OrleansCounterControl、OrleansManager、ClientGenerator。

1.OrleansHost

这个工具是一个主机寄宿或者部署的一个控制台应用程序,下面我们看一下他的用法。

从那里获取呢,直接点的办法就是在源码包里找到这个项目然后编译后得到的就是你需要的。

另外一种就是当你创建服务端然后安装了Microsoft.Orleans.Server包的时候,编译这个项目也会在编译包下生成出来。

我是直接编译源码包得到,如下:

一些dll,值得注意的是那个Configuration包,里面有个文件OrleansConfiguration.xsd,这个就是服务端文件配置所需的xsd验证文件,如果我们不知道配置文件需要那些节点的时候

可以查看该文件,可以将其复制到你的vs安装目录的xml环境中,就可以获得智能提示了,如下:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Xml\Schemas

我的安装目录,如果你的安装目录有变,你可以灵活调整了

看图

然后我们在OrleansHost.exe所在目录下创建OrleansConfiguration.xml文件用vs打开

添加根节点OrleansConfiguration,然后增加xmlns="urn:orleans",我们就可以得到智能提示了,如下图

接下来,我们配置一个基本的配置文件,内容如下

<?xml version="1.0" encoding="utf-8" ?>
<OrleansConfiguration xmlns="urn:orleans">
<Globals>
<StorageProviders>
<Provider Type="Orleans.Storage.MemoryStorage" Name="MemoryStore" />
<Provider Type="Orleans.Storage.MemoryStorage" Name="Default" />
<!--<Provider Type="Orleans.Storage.AzureTableStorage" Name="AzureStore"/>-->
</StorageProviders>
<SeedNode Address="localhost" Port="22222"/>
<Messaging ResponseTimeout="30s"/>
</Globals>
<Defaults>
<Networking Address="localhost" Port="22222"/>
<ProxyingGateway Address="localhost" Port="40000" />
<Tracing DefaultTraceLevel="Info" TraceToConsole="true" TraceToFile="{0}-{1}.log" PropagateActivityId="false" BulkMessageLimit="1000">
<TraceLevelOverride LogPrefix="Application" TraceLevel="Info" />
<!--
<TraceLevelOverride LogPrefix="Runtime.Dispatcher" TraceLevel="Verbose" />
<TraceLevelOverride LogPrefix="AssemblyLoader.Silo" TraceLevel="Warning" />
-->
</Tracing>
<Statistics MetricsTableWriteInterval="30s" PerfCounterWriteInterval="30s" LogWriteInterval="300s" WriteLogStatisticsToTable="true" StatisticsCollectionLevel="Info"/>
</Defaults>
</OrleansConfiguration>

好我们来运行一下这个看看,双击StartOrleans.cmd,程序跑完,有日志文件生成,大概浏览一遍,不太顺畅,有一些错误,少了一些dll的引用,少了OrleansCodeGenerator.dll,OrleansDependencyInjection.dll,再到源码包中直接生成该项目,然后将其生成产物拷贝到StartOrleans目录下,再次运行,一切如预料的那样,成功:

这里我整理的一个OrleansHost的部署包:OrleansHost

如有需要的可以直接下载使用。

再来看看他的一些使用的参数:

该工具有如下参数:/? 、/help、-?、-help、/debug、deploymentid=[value]、deploymentgroup=[value]。

这次我们先冲控制台进入该程序所在目录:

cmd-> d: -> cd D:\demo\OrleansHost  ,如下:

如果我们什么参数都不带,改程序就直接启动

如果下面我们带上如上参数看看效果:OrleansHost /? 这个是寻求帮助的一个命令

OrleansHost /debug   这个是以调试环境启动

OrleansHost  deploymentid=[value] 这个是给部署的当前silo起一个部署时的名称然后启动(这里的value将来是设置为siloname的)

OrleansHost  deploymentgroup=[value]这个值暂时还没有启用,说不定后续版本会有用处

有个了这个工具我们直接将开发好的grain编译好的程序发布到该程序目录下就可以了,然后重启,不信你可以试一试,哈哈!

2.OrleansCounterControl

在于OrleansHost相同的目录下还有一个exe,就是OrleansCounterControl

如下图:

我们先用cmd进入该程序所在目录下

cd C:\Demo

接下来,我们先看看OrleansCounterControl有哪些参数

OrleansCounterControl /r,/register、/u、/unregister、/f、/force、/pause、/?、/help,我们来看看这些参数命令。

以管理员运行,如果OrleansCounterControl不带任何参数的时候,将运行服务端的一些序列化初始化,并输出一些控制台日志,且注册windows计数器

/r  或/register windows计数器注册

/u 或/unregister 取消windows计数器

/f 或 /force 删除计数器

/pause  是否有退出时提示

/? 或/help 帮助提示.

这些命令可以组合使用,如下图:OrleansCounterControl  /r  /pause

OrleansCounterControl  /r  /?

总结:这个工具用来进行管理程序的windows计数器管理工具.

3.OrleansManager

命令行定位到该程序目录下(此工具主要是用来在客户端,或者别的地方查看服务端上silo或者grain的一些状态信息。)

接下来看看命令参数:

OrleansManager [ ] [/?] [-?] 执行这个命令时会有一些帮助提示

OrleansManager grainstats [silo1,silo2,...] 用来查看统计查看silo的address、激活的数量、grain类型等。

             fullgrainstats [silo1,silo2,...] 查看全部的grain的状态

         collect  [silo1,silo2,...]

        unregister [silo1,silo2,...] 取消注册

        lookup  [silo1,silo2,...]

        grainreport [silo1,silo2,...]

具体就不再这里讲解了,大家在开发过程中可以去探索。

4.ClientGenerator

先来看看工具传入的参数

参数要用【""】 来包装字符串,字符串内的参数可以用多个用【;】来分割,每一段代表一个路径,绝对路径,或者网络服务地址。

具体参数使用如下:

/r:[path];[path];[path];[path]
/reference:[path];[path];[path];[path]    这个可以使用的是一个目录或者是一个文本文件内指定多个文件。

/in:[path] 如果是单个文件使用,如a.cs,或者b.cs 。

/bootstrap  
/boot

/sources:
/src:

就说到这里吧。

Orleans 之 监控工具的使用的更多相关文章

  1. Microsoft Orleans 之 入门指南

    Microsoft Orleans 在.net用简单方法构建高并发.分布式的大型应用程序框架. 原文:http://dotnet.github.io/orleans/ 在线文档:http://dotn ...

  2. Microsoft Orleans构建高并发、分布式的大型应用程序框架

    Microsoft Orleans 在.net用简单方法构建高并发.分布式的大型应用程序框架. 原文:http://dotnet.github.io/orleans/ 在线文档:http://dotn ...

  3. Orleans[NET Core 3.1] 学习笔记(四)( 3 )监控Orleans Silo的方式 OrleansDashboard

    简介 Orleans用起来的确很爽,更爽的是咱们有能监控它的工具. OrleansDashboard 这个工具是一个可视化的Silo监控工具,Silo和Grain的活跃状态一目了然,各个接口的响应速度 ...

  4. 进程监控工具supervisor 启动Mongodb

    进程监控工具supervisor 启动Mongodb 一什么是supervisor Superviosr是一个UNIX-like系统上的进程监控工具. Supervisor是一个Python开发的cl ...

  5. API Monitor简介(API监控工具)

    API Monitor是一个免费软件,可以让你监视和控制应用程序和服务,取得了API调用. 它是一个强大的工具,看到的应用程序和服务是如何工作的,或跟踪,你在自己的应用程序的问题. 64位支持 API ...

  6. Java 性能分析工具 , 第 2 部分:Java 内置监控工具

    引言 本文为 Java 性能分析工具系列文章第二篇,第一篇:操作系统工具.在本文中将介绍如何使用 Java 内置监控工具更加深入的了解 Java 应用程序和 JVM 本身.在 JDK 中有许多内置的工 ...

  7. 在Centos中部署redis运行状态图形化监控工具 — RedisLive

    写在前面 前两天看到张善友老师的一篇文章<先定个小目标, 使用C# 开发的千万级应用>,里面给出了一张腾讯OA基础服务中redis运行情况的一张监控图,然后想到自己的项目中前不久也上了re ...

  8. .NET的Actor模型:Orleans

    Orleans是微软推出的类似Scala Akka的Actor模型,Orleans是一个建立在.NET之上的,设计的目标是为了方便程序员开发需要大规模扩展的云服务, 可用于实现DDD+EventSou ...

  9. JVM监控工具介绍

    JVM监控工具介绍 VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力.所有这些都是免费的!它囊括的命令行工具包括jps,jstat,jmap,jinfo,jst ...

随机推荐

  1. c10k问题及其解决方案

    本文主要讲述高并发http应用中的c10k瓶颈问题:在很多服务器初始状态下,无法服务1w左右的并发连接.这与每次服务的资源消耗.服务器的硬件配置固然有关,但很多时候是被linux的默认配置以及软件st ...

  2. Storage Systems topics and related papers

    In this post, I will distill my own ideas and my own views into a structure for a storage system cou ...

  3. 在线制作h5——上帝的礼物

    在线制作h5 网址:http://www.godgiftgame.com 网站名称:上帝的礼物 推荐指数:5颗星 功能概要 可以设置背景.元素图片.元素文字.元素图形.声音.加载.链接.分享,生成h5 ...

  4. mvc 方法只允许ajax访问

    有时候我们写一些方法 只想在ajax使用  其他的不想暴露  就可以对方法进行限制 如下: [AttributeUsage(AttributeTargets.Method)] public class ...

  5. 使用Eclipse进行远程调试【转】

    今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/arc ...

  6. pecl install imagick

    steven@server:/var/www$ sudo pecl install imagickdownloading imagick-2.3.0.tgz ...Starting to downlo ...

  7. 不同iOS版本做代码适配__IPHONE_OS_VERSION_MAX_ALLOWED 和 __IPHONE_8_0等专业术语

    目前开发只想最低版本支持iOS8了,iOS8以前的就不管了,然后现在iOS9和iOS10出来以后,有些新的API,也有些弃用的API,为了兼容,有时候代码里面需要编写判断不同iOS版本,或者只允许指定 ...

  8. 通过PowerShell获取TCP响应(类Telnet)

    通常情况下,为了检测指定的TCP端口是否存活,我们都是通过telnet指定的端口看是否有响应来确定,然而默认情况下win8以后的系统默认是不安装telnet的.设想一下如果你黑进了一个服务器,上面没装 ...

  9. Java分布式应用技术架构介绍

    分布式架构的演进 系统架构演化历程-初始阶段架构

  10. 用 Python 和 OpenCV 检测图片上的条形码

      用 Python 和 OpenCV 检测图片上的的条形码 这篇博文的目的是应用计算机视觉和图像处理技术,展示一个条形码检测的基本实现.我所实现的算法本质上基于StackOverflow 上的这个问 ...